This document provides instructions for creating new Debian version branches in the netboot.xyz debian-squash repository.
This repository contains branches for different Debian versions and flavors. Each branch builds and releases Debian live filesystem squashfs files for netboot.xyz.
Each Debian version has multiple flavor branches following the pattern: {flavor}-{version}
Standard flavors:
core(standard/minimal)gnomecinnamonkdelxdelxqtmatexfce
When Debian releases a new version, follow these steps to create corresponding branches:
List all branches for the current version:
git branch -a | grep -E "{current_version}$"Create new branch from the existing version:
git checkout {flavor}-{old_version}
git checkout -b {flavor}-{new_version}- Rename:
.github/workflows/{flavor}-{old_version}.yml→.github/workflows/{flavor}-{new_version}.yml - Update in the file:
- Workflow name:
name: {flavor}-{new_version} - Trigger branch:
branches: - {flavor}-{new_version} - Environment variable:
BRANCH: {flavor}-{new_version} - Checkout ref:
ref: {flavor}-{new_version}
- Workflow name:
Update the following:
- Endpoint name:
debian-{old_version}-{flavor}-squash→debian-{new_version}-{flavor}-squash - Kernel reference:
debian-{old_version}-live-kernel→debian-{new_version}-live-kernel - IMPORTANT: Keep
version: "REPLACE_VERSION"as-is (dynamically populated by version.sh)
settings.sh- Usescurrent-liveURL path (version-agnostic)version.sh- Dynamically extracts current version from Debian serversREADME.md- Generic repository documentation
git add .
git commit -m "Update {flavor}-{new_version} branch with Debian {new_version} references"
git push origin {flavor}-{new_version}# For core flavor
git checkout core-13
git checkout -b core-14
mv .github/workflows/core-13.yml .github/workflows/core-14.yml
# Edit workflow file to replace all "13" references with "14"
# Edit endpoints.template to update endpoint name and kernel version
# Keep version field as "REPLACE_VERSION"
git add .
git commit -m "Update core-14 branch with Debian 14 references"
git push origin core-14
# Repeat for other flavors: gnome, cinnamon, kde, lxde, lxqt, mate, xfceWhen updating multiple branches, you can use the MultiEdit tool or sed commands to batch update references:
# Example for workflow file updates
sed -i 's/core-13/core-14/g' .github/workflows/core-14.yml
# Example for endpoints.template
sed -i 's/debian-13-/debian-14-/g' endpoints.template
sed -i 's/debian-13-live-kernel/debian-14-live-kernel/g' endpoints.template-
Version Placeholder: Always keep
version: "REPLACE_VERSION"in endpoints.template. This is replaced dynamically during the build process. -
CI/CD: Each branch has its own GitHub Actions workflow that triggers on:
- Push to the branch (excluding workflow file changes)
- Weekly schedule (Fridays at 4 AM)
- Manual workflow dispatch
-
Testing: After creating new branches, you can manually trigger the workflow to test the build process using GitHub's "Actions" tab.
-
Debian Versions: The actual Debian version number (e.g., 12.5.0) is extracted dynamically from Debian's servers by version.sh
- If builds fail, check that the ISO URLs in settings.sh match Debian's current directory structure
- Verify that version.sh correctly extracts version numbers from SHA256SUMS
- Ensure GitHub Actions has necessary permissions for creating releases