From 4d5dcb6d5d958a521341eadecbbbc95964229d3d Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Sep 25 2018 16:13:28 +0000 Subject: document rebuild strategies --- diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index f2f02e0..fbd7817 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -7,6 +7,7 @@ ** xref:making-modules/adding-new-modules.adoc[Adding New Modules] ** xref:making-modules/updating-modules.adoc[Updating Existing Modules] ** xref:making-modules/defining-modules.adoc[Defining Modules in modulemd] +** xref:making-modules/building-modules.adoc[Building Modules] ** xref:making-modules/managing-defaults.adoc[Managing Defaults] ** xref:making-modules/inspecting-build-failures.adoc[Inspecting Build Failures] ** xref:making-modules/building-modules-locally.adoc[Building Modules Locally] diff --git a/modules/ROOT/pages/_partials/submit-module-build.adoc b/modules/ROOT/pages/_partials/submit-module-build.adoc deleted file mode 100644 index 804a0d0..0000000 --- a/modules/ROOT/pages/_partials/submit-module-build.adoc +++ /dev/null @@ -1,23 +0,0 @@ -With Modularity, you no longer build individual packages. Instead, you need to submit a module build. - -Module builds are triggered using `fedpkg` from within your dist-git repository. - ----- -$ fedpkg clone modules/NAME -$ cd NAME -$ fedpkg switch-branch BRANCH -$ fedpkg module-build ----- - -* `NAME` — name of the module -* `BRANCH` — name of the stream branch of the module - -NOTE: Please note the module build ID. You will need it to verify the build state. It also helps you in the next step. - -To watch the state of your module build, run: - ----- -$ fedpkg module-build-watch BUILD_ID ----- - -When the module is in a "ready" state, the build has successfully completed. \ No newline at end of file diff --git a/modules/ROOT/pages/making-modules/adding-new-modules.adoc b/modules/ROOT/pages/making-modules/adding-new-modules.adoc index 35e84c3..4c37e29 100644 --- a/modules/ROOT/pages/making-modules/adding-new-modules.adoc +++ b/modules/ROOT/pages/making-modules/adding-new-modules.adoc @@ -89,7 +89,9 @@ $ git push == Module Build -include::{partialsdir}/submit-module-build.adoc[] +NOTE: NOTE: With Modularity, you no longer build individual packages. Instead, you need to submit a module build. + +Submitting module builds is done using `fedpkg` and is covered in the xref:making-modules/building-modules.adoc[Building modules] section. == Publishing the Module diff --git a/modules/ROOT/pages/making-modules/building-modules.adoc b/modules/ROOT/pages/making-modules/building-modules.adoc new file mode 100644 index 0000000..273b6a2 --- /dev/null +++ b/modules/ROOT/pages/making-modules/building-modules.adoc @@ -0,0 +1,43 @@ += Submitting module builds in Fedora + +NOTE: With Modularity, you no longer build individual packages. Instead, you need to submit a module build. + +Module builds are triggered using `fedpkg` from within your dist-git repository. + +---- +$ fedpkg clone modules/NAME +$ cd NAME +$ fedpkg switch-branch BRANCH +$ fedpkg module-build +---- + +* `NAME` — name of the module +* `BRANCH` — name of the stream branch of the module + +NOTE: Please note the module build ID. You will need it to verify the build state and to publish the module later. + +To watch the state of your module build, run: + +---- +$ fedpkg module-build-watch BUILD_ID +---- + +When the module is in a "ready" state, the build has successfully completed. + +== Rebuild strategies + +In case you want to control which packages get rebuilt and which get reused, you can enforce a specific rebuild strategy while submitting a build. + +There are different rebuild strategies to choose from: + +* ``all`` — All packages in the module get rebuilt. +* ``only-changed`` — Only packages that have changed since the last successful build get rebuilt. +* ``changed-and-after`` — This one leverages xref:making-modules/defining-modules.adoc#_building_in_a_specific_order_optional[build groups (buildorder)]. Packages that have changed changed since the last successful build get rebuilt, and also all packages with a buildorder higher than any of the changed ones get rebuilt as well. This is the **default** in Fedora. + +To enforce a specific rebuild strategy, submit the module build with the following command: + +---- +$ fedpkg module-build --optional rebuild_strategy=STRATEGY +---- + +* `STRATEGY` — name of a specific build strategy (listed above) diff --git a/modules/ROOT/pages/making-modules/updating-modules.adoc b/modules/ROOT/pages/making-modules/updating-modules.adoc index 60bbc54..7c3e6a7 100644 --- a/modules/ROOT/pages/making-modules/updating-modules.adoc +++ b/modules/ROOT/pages/making-modules/updating-modules.adoc @@ -4,7 +4,7 @@ This page will guide you through the process of updating an existing module. 1. **<>** — Pushing new sources. 2. **<>** — Pushing a new version of the modulemd. -3. **<>** — Module is built as a unit. No individual package builds are done. +3. **<>** — Module is built as a unit. No individual package builds are done. 4. **<>** — Submitting a Bodhi update. == Updating RPM Packages @@ -33,7 +33,9 @@ $ git push == Module Build -include::{partialsdir}/submit-module-build.adoc[] +NOTE: NOTE: With Modularity, you no longer build individual packages. Instead, you need to submit a module build. + +Submitting module builds is done using `fedpkg` and is covered in the xref:making-modules/building-modules.adoc[Building modules] section. == Publishing the Module