#30 document rebuild strategies
Merged 5 years ago by asamalik. Opened 5 years ago by asamalik.
fedora-docs/ asamalik/modularity rebuild-strategies  into  master

file modified
+1
@@ -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]

@@ -89,7 +89,9 @@ 

  

  == 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

  

modules/ROOT/pages/making-modules/building-modules.adoc modules/ROOT/pages/_partials/submit-module-build.adoc
file renamed
+23 -3
@@ -1,4 +1,6 @@ 

- With Modularity, you no longer build individual packages. Instead, you need to submit a module build.

+ = 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.

  
@@ -12,7 +14,7 @@ 

  * `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.

+ 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:

  
@@ -20,4 +22,22 @@ 

  $ 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

+ 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)

@@ -4,7 +4,7 @@ 

  

  1. **<<Updating RPM Packages>>** — Pushing new sources.

  2. **<<Updating the Module>>** — Pushing a new version of the modulemd.

- 3. **<<Updating the Module>>** — Module is built as a unit. No individual package builds are done.

+ 3. **<<Module Build>>** — Module is built as a unit. No individual package builds are done.

  4. **<<Publishing the Module>>** — Submitting a Bodhi update.

  

  == Updating RPM Packages
@@ -33,7 +33,9 @@ 

  

  == 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