Skip to content

Commit a194b30

Browse files
committed
Update documentation: workflows must be on master for GitHub Actions discovery
1 parent c2e272d commit a194b30

File tree

1 file changed

+41
-15
lines changed

1 file changed

+41
-15
lines changed

claude.md

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ The repository uses a **branch-per-variant** pattern. Each branch is independent
1717
- `README.md` - Basic repository information
1818

1919
2. **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
181182
VERSION=$(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
203216
git commit -m "Add Ubuntu 25.10 (questing) amd64 netboot support"
204217
git 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
208221
git commit -m "Add Ubuntu 25.10 (questing) arm64 netboot support"
209222
git 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+
212237
The 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

Comments
 (0)