@@ -17,9 +17,10 @@ The repository uses a **branch-per-variant** pattern. Each branch is independent
1717 - ` README.md ` - Basic repository information
1818
19192 . ** GitHub Workflows** (in ` .github/workflows/ ` )
20- - Each branch contains its own workflow file
20+ - ** IMPORTANT** : Workflow files MUST exist on the master branch for GitHub Actions to discover them
21+ - Workflows can optionally also exist on individual branches for reference
2122 - Workflow filename matches the branch name (e.g., ` ubuntu-netboot-25.10-amd64.yml ` )
22- - Workflows are stored in the branch they build, not on master
23+ - Even though workflows run on specific branches, GitHub requires them on master for discovery
2324
2425### Branch Naming Convention
2526
@@ -181,34 +182,58 @@ URL="https://cdimage.ubuntu.com/releases/25.10/release/ubuntu-REPLACE_VERSION-li
181182VERSION=$(curl -sL https://cdimage.ubuntu.com/releases/25.10/release/ |grep '<title>' | grep -Po "(\d +\. )+\d +")
182183` ` `
183184
184- # ## 3. Create Workflow Files (in each branch)
185+ # ## 3. Create Workflow Files on Master Branch
185186
186- **On the ubuntu-netboot-25.10-amd64 branch:**
187+ **CRITICAL**: Workflow files must be added to the master branch for GitHub Actions to discover them.
187188
188- Create `.github/workflows/ubuntu-netboot-25.10-amd64.yml` based on the previous version's workflow, updating :
189- - Workflow name to `ubuntu-netboot-25.10-amd64`
190- - Branch references to `ubuntu-netboot-25.10-amd64`
191- - Environment variable `BRANCH` to `ubuntu-netboot-25.10-amd64`
189+ **On the master branch:**
192190
193- **On the ubuntu-netboot-25.10-arm64 branch:**
191+ Create both workflow files :
192+ - ` .github/workflows/ubuntu-netboot-25.10-amd64.yml`
193+ - ` .github/workflows/ubuntu-netboot-25.10-arm64.yml`
194194
195- Create `.github/workflows/ubuntu-netboot-25.10-arm64.yml` with the same pattern for arm64
195+ Based on the previous version's workflows (e.g., 24.10), update :
196+ - Workflow name to match the new branch (e.g., `ubuntu-netboot-25.10-amd64`)
197+ - Branch references in the `on.push.branches` and `checkout` steps
198+ - Environment variable `BRANCH` to match the new branch name
199+
200+ **Optionally** (for reference): You can also add these workflow files to the individual branches, but they must be on master to actually run
196201
197202# ## 4. Commit and Push All Changes
198203
199- **For each branch:**
204+ **Step 1: Push workflow files from master:**
205+ ` ` ` bash
206+ # On master branch
207+ git add .github/workflows/ubuntu-netboot-25.10-amd64.yml .github/workflows/ubuntu-netboot-25.10-arm64.yml
208+ git commit -m "Add workflows for Ubuntu 25.10 netboot builds"
209+ git push origin master
210+ ` ` `
211+
212+ **Step 2: Push configuration changes from each branch:**
200213` ` ` bash
201214# On ubuntu-netboot-25.10-amd64 branch
202- git add settings.sh version.sh endpoints.template .github/workflows/ubuntu-netboot-25.10-amd64.yml
215+ git add settings.sh version.sh endpoints.template
203216git commit -m "Add Ubuntu 25.10 (questing) amd64 netboot support"
204217git push origin ubuntu-netboot-25.10-amd64
205218
206219# On ubuntu-netboot-25.10-arm64 branch
207- git add settings.sh version.sh endpoints.template .github/workflows/ubuntu-netboot-25.10-arm64.yml
220+ git add settings.sh version.sh endpoints.template
208221git commit -m "Add Ubuntu 25.10 (questing) arm64 netboot support"
209222git push origin ubuntu-netboot-25.10-arm64
210223` ` `
211224
225+ **Step 3: Trigger initial builds:**
226+ ` ` ` bash
227+ # Push empty commits to trigger CI (workflows ignore .github/workflows/** changes)
228+ git checkout ubuntu-netboot-25.10-amd64
229+ git commit --allow-empty -m "Trigger initial CI build"
230+ git push origin ubuntu-netboot-25.10-amd64
231+
232+ git checkout ubuntu-netboot-25.10-arm64
233+ git commit --allow-empty -m "Trigger initial CI build"
234+ git push origin ubuntu-netboot-25.10-arm64
235+ ` ` `
236+
212237The workflows will automatically start checking for new releases on the scheduled runs.
213238
214239# # Integration with build-pipelines
@@ -239,7 +264,8 @@ Workflows use the following GitHub secrets:
239264
240265- Workflows run weekly to automatically detect new point releases
241266- Each branch is independent; changes to one variant don't affect others
242- - Each branch contains its own workflow file (not stored on master)
243- - The master branch primarily holds documentation (claude.md, README.md)
267+ - **Workflow files MUST be on master** for GitHub Actions to discover them
268+ - The master branch holds workflow definitions and documentation
269+ - Configuration files (settings.sh, version.sh, endpoints.template) live on individual branches
244270- Releases are immutable; each version gets its own tagged release
245271- Failed builds trigger Discord notifications for quick response
0 commit comments