Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/deploy-main-on-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"nostream-website": patch
---

Website deploy workflow fix: the deploy queue is job-scoped so relay releases can't displace a pending website deploy (measured: the nostream@3.5.1 release run was cancelled with zero jobs at the workflow-level concurrency group, before its job-level `if` could skip it). The checkout stays on the triggering `nostream-website@` tag, which the `website` environment's branch policy admits — the deployed build is exactly the released commit.
17 changes: 13 additions & 4 deletions .github/workflows/deploy-website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ on:
- published
workflow_dispatch:

concurrency:
group: deploy-website
cancel-in-progress: false

jobs:
deploy:
# Concurrency lives on the job, not the workflow: a relay release
# (v* tag) fails the if below and must not enter this deploy queue,
# where it could replace a queued website deploy. Measured: the
# nostream@3.5.1 release run (38845857055) was cancelled with zero
# jobs at the workflow-level group, before the job if could skip it.
concurrency:
group: deploy-website
cancel-in-progress: false
# workflow_dispatch ignores every on: filter — a manual run must not
# publish a non-main branch to production, so dispatch stays main-only.
if: >-
Expand All @@ -31,6 +35,11 @@ jobs:
permissions:
contents: read
steps:
# Checkout gets the release event's default: the tag that triggered the
# run (refs/tags/nostream-website@X.Y.Z). The website environment's
# branch policy admits nostream-website@* — every release deploy since
# 1.1.1 has run on the tag ref — so the build is exactly the released
# commit, even if main has advanced by the time the job starts.
- name: Checkout
uses: actions/checkout@v3

Expand Down
Loading