From ab24cf5f7b7c4342d8807fb844d8193ab30bb476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Mon, 5 Jun 2023 01:43:56 +0200 Subject: [PATCH 1/3] let's book it! --- rfcs/70-book_evolution_in_main.md | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 rfcs/70-book_evolution_in_main.md diff --git a/rfcs/70-book_evolution_in_main.md b/rfcs/70-book_evolution_in_main.md new file mode 100644 index 00000000..97bc54ba --- /dev/null +++ b/rfcs/70-book_evolution_in_main.md @@ -0,0 +1,40 @@ +# Feature Name: `book_evolution_in_main` + +## Summary + +Reduce the cost of starting the book, and of book evolutions with new versions of Bevy + +## Motivation + +I want the Bevy Book to get better faster. We've tried to make it evolve in bevy-website repository, but getting to a publishable state means getting the content, the CI and the formatting ready all at once and lead to a long lived `new-book` branch that is in limbo. The current approach would also mean that for a new version of Bevy, we would have to pull a new branch, make it use the next version of Bevy, update everything, then merge it back on the website for publication. I fear this will make the release process longer. + +I'm opening this as a RFC as it has moving parts across 2 repositories, and it's an evolution on [RFC #23: Quick Start Book](https://github.com/bevyengine/rfcs/blob/main/rfcs/23-quick_start_book.md). + +## User-facing explanation + +As a user wanting to contribute to the book, I can do so on the Bevy main repository. + +## Implementation strategy + +- Add a new folder in Bevy main repository for the book +- Start accepting contributions for it, with the layout / rules from [RFC #23: Quick Start Book](https://github.com/bevyengine/rfcs/blob/main/rfcs/23-quick_start_book.md) +- Set up main repository CI to check that the book content is up to date with the code + - For new book PRs, this should be blocking + - For new code PRs, this should be a non blocking CI. Writing or updating the book can be delegated to another issue that will be added to the next milestone +- Set up bevy-website repository CI to pull the book content from the latest tag and publish it + +## Drawbacks + +🤷 + +More non code commits in the main repo maybe? But I think that's good as it gives better visibility to book contributions. + +## Rationale and alternatives + +- It allows us to start writing the book without worrying it about being public directly, or working in a long lived branch +- This keeps the book versionning in check with Bevy + +## Future possibilities + +- Publish the book content as part of the rust doc (a `bevy_book` crate?) +- Publish the book content with versionning From 9ed12678b8a5b5d128e7152dfa79da7f2290326a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Mon, 5 Jun 2023 01:47:29 +0200 Subject: [PATCH 2/3] :eyes: :green_heart: :rose: --- rfcs/70-book_evolution_in_main.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rfcs/70-book_evolution_in_main.md b/rfcs/70-book_evolution_in_main.md index 97bc54ba..4f1c7940 100644 --- a/rfcs/70-book_evolution_in_main.md +++ b/rfcs/70-book_evolution_in_main.md @@ -27,14 +27,14 @@ As a user wanting to contribute to the book, I can do so on the Bevy main reposi 🤷 -More non code commits in the main repo maybe? But I think that's good as it gives better visibility to book contributions. +More non code commits in the main repo maybe? But I think that's good as it gives better visibility to book contributions. The main repo will also gets larger wich can slow down checkout / clones. ## Rationale and alternatives - It allows us to start writing the book without worrying it about being public directly, or working in a long lived branch -- This keeps the book versionning in check with Bevy +- This keeps the book versioning in check with Bevy ## Future possibilities - Publish the book content as part of the rust doc (a `bevy_book` crate?) -- Publish the book content with versionning +- Publish the book content with versioning From d01dc5a3931218f123b3ddb45a9a7a4b024f8c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Mon, 5 Jun 2023 02:01:27 +0200 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Alice Cecile --- rfcs/70-book_evolution_in_main.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rfcs/70-book_evolution_in_main.md b/rfcs/70-book_evolution_in_main.md index 4f1c7940..7d185682 100644 --- a/rfcs/70-book_evolution_in_main.md +++ b/rfcs/70-book_evolution_in_main.md @@ -2,7 +2,7 @@ ## Summary -Reduce the cost of starting the book, and of book evolutions with new versions of Bevy +Reduce the cost of starting the book, and of ongoing book evolution with new versions of Bevy. ## Motivation @@ -27,7 +27,7 @@ As a user wanting to contribute to the book, I can do so on the Bevy main reposi 🤷 -More non code commits in the main repo maybe? But I think that's good as it gives better visibility to book contributions. The main repo will also gets larger wich can slow down checkout / clones. +More non code commits in the main repo maybe? But I think that's good as it gives better visibility to book contributions. The main repo will also gets larger which can slow down checkout / clones. ## Rationale and alternatives @@ -38,3 +38,4 @@ More non code commits in the main repo maybe? But I think that's good as it give - Publish the book content as part of the rust doc (a `bevy_book` crate?) - Publish the book content with versioning +- Remove `/docs/` in the main repo and migrate all of that content to the Bevy book