on: push: tags: - 'v*.*.*' jobs: build: permissions: contents: write packages: write attestations: write id-token: write runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 - uses: imjasonh/setup-crane@v0.4 with: version: v0.20.5 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up GitHub Actions bot user run: | git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Prepare (checkouts & patches) run: make checkouts patches - name: Kernel run: make kernel - name: Overlay run: make overlay - name: Installer run: make installer - name: Release if: startsWith(github.ref, 'refs/tags/v') run: make release - name: Create GitHub Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | NOTES=$(cat < ⚠️ Experimental build, use at your own risk. This is a patched version of Talos tailored for the Raspberry Pi 5, including NVMe, NIC and USB support. ### What's available - 📦 **Raw disk image** (\`metal-arm64.raw.zst\`) for fresh installs - ⚙️ **Installer image** (\`ghcr.io/talos-rpi5/installer:${{ github.ref_name }}\`) for upgrades ### Install - **Fresh install** - Download the raw disk image from this release - Flash with \`dd\` or your favorite tool - **Upgrade existing node** \`\`\`bash talosctl upgrade --nodes --image ghcr.io/talos-rpi5/installer:${{ github.ref_name }} \`\`\` EOF ) gh release create \ ${{ github.ref_name }} \ ./checkouts/talos/_out/metal-arm64.raw.zst \ --title "${{ github.ref_name }}" \ --notes "$NOTES"