name: Next Channel # Pushes made with the default GITHUB_TOKEN from another workflow (e.g. Promote main to next) # do not trigger push workflows — GitHub blocks recursive runs. Use workflow_run below. # # workflow_dispatch: set "Use workflow from branch" to `main` so reusable-channel-publish.yml # is the latest (tag guards, etc.). The tree built for artifacts is always ref `next` below. on: push: branches: [next] # Merging auto PR "chore(nix): refresh lock …" only touches these paths — do not # re-run the full channel (would loop: publish → verify-nix PR → merge → push → publish). paths-ignore: - "flake.lock" - "nix/**" workflow_dispatch: workflow_run: workflows: ["Promote main to next"] types: [completed] jobs: publish-next: if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} uses: ./.github/workflows/reusable-channel-publish.yml with: channel: next # Always build from channel branch; do not tie checkout to workflow_dispatch UI branch. source_ref: next target_branch: next prerelease: true draft_release: false verify_nix: true secrets: inherit