File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11name : Auto Release
22
3- # Automatically tag and release on every merge to master — but ONLY after CI passes.
3+ # Automatically tag and release on every merge to master.
4+ # CI is guaranteed to have passed via branch protection (required status check).
45# Uses CalVer: v2026.02.27.N-alpha (UTC date + daily build counter + release stage).
56# The daily counter (N) is derived from git history via bump-build.sh, so multiple
67# merges on the same day correctly get .1, .2, .3, etc.
78# No commits to master — just tags the merge commit directly.
89
910on :
10- workflow_run :
11- workflows : ["CI"]
12- types : [completed]
11+ push :
1312 branches : [master]
1413
1514# Queue releases — don't cancel in-progress ones.
@@ -24,8 +23,7 @@ permissions:
2423jobs :
2524 auto-release :
2625 name : Tag & Release
27- # Only release if CI succeeded — never release on failure
28- if : github.event.workflow_run.conclusion == 'success'
26+ # CI is guaranteed by branch protection — this only runs after a merge to master
2927 runs-on : ubuntu-latest
3028 timeout-minutes : 5
3129
Original file line number Diff line number Diff line change 33on :
44 pull_request :
55 branches : [main, master]
6- push :
7- branches : [master] # Needed to trigger website deploy via workflow_run
86
97env :
108 CARGO_TERM_COLOR : always
Original file line number Diff line number Diff line change 11name : Deploy Website
22
33on :
4- # Deploy after CI completes on master (includes PR merges)
5- workflow_run :
6- workflows : ["CI"]
7- types : [completed]
8- branches : [master]
9- # Deploy directly on release commits (CI is skipped for these, but website needs version update)
4+ # Deploy on every push to master (CI guaranteed by branch protection)
105 push :
116 branches : [master]
127 workflow_dispatch :
@@ -15,7 +10,7 @@ permissions:
1510 contents : read
1611 pages : write
1712 id-token : write
18- actions : read # Needed to download artifacts from other workflows
13+ actions : read # Needed to download test-results artifact from CI workflow
1914
2015concurrency :
2116 group : pages
2621
2722jobs :
2823 build :
29- # push: only for release commits (CI is skipped, but website needs the version)
30- # workflow_run: only when CI succeeded (not when skipped for release commits)
31- # workflow_dispatch: always
32- if : >-
33- (github.event_name == 'push' && startsWith(github.event.head_commit.message, 'chore: release v')) ||
34- (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') ||
35- github.event_name == 'workflow_dispatch'
3624 runs-on : ubuntu-latest
3725 steps :
3826 - name : Checkout
4735 branch : master
4836 name : test-results
4937 path : website/public
50- run_id : ${{ github.event.workflow_run.id }}
5138 if_no_artifact_found : warn
5239 continue-on-error : true
5340
You can’t perform that action at this time.
0 commit comments