Skip to content

Commit ff90ccb

Browse files
authored
docs(release): explain superseded nightly jobs (#2254)
1 parent d6d4da5 commit ff90ccb

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

‎docs/architecture/release-pipeline.md‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,10 @@ lookup failure, a `test-<branch>` draft — is left alone.
373373

374374
## Nightly channel
375375

376-
Every push to `master` of `4gray/iptvnator` is also a nightly. The same
377-
`build-and-make.yaml` run that builds the matrix publishes its artifacts as a
378-
**prerelease of `4gray/iptvnator-nightly`** instead of the rolling
379-
`test-master` draft: a draft is invisible to anyone without write access and
376+
Pushes to `master` of `4gray/iptvnator` that pass the workflow's path filters
377+
start a nightly run. The workflow `build-and-make.yaml` builds the matrix and
378+
publishes its artifacts as a **prerelease of `4gray/iptvnator-nightly`** instead
379+
of the rolling `test-master` draft: a draft is invisible to anyone without write access and
380380
to electron-updater, while a published prerelease is what the desktop app's
381381
**Nightly** update channel installs. PR builds keep their `test-pr-<n>`
382382
drafts; tag builds are unaffected.
@@ -435,9 +435,14 @@ frontend and backend builds and before electron-builder reads it
435435
release is never deleted by a re-run: re-running after a successful
436436
publish is a no-op, and only a draft left behind by a failed run is
437437
replaced.
438-
4. The release job is serialized per ref, but two master runs can finish out
439-
of order. electron-updater takes the newest feed entry, so a nightly older
440-
than the newest published one is dropped rather than published.
438+
4. Build and release job concurrency groups are shared across pushes to the
439+
same ref.
440+
[GitHub can replace a pending job](https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency#example-using-concurrency-and-the-default-behavior)
441+
when another job enters the same group, even with
442+
`cancel-in-progress: false`. A superseded run can miss publication. The
443+
next successfully published descendant includes its changes.
444+
The release job is serialized per ref, but two master runs can finish out
445+
of order. The publish step drops a nightly older than the newest feed entry.
441446
5. Only the newest `NIGHTLY_KEEP_RELEASES` (20) nightlies are kept; older
442447
ones are deleted together with their tags.
443448

0 commit comments

Comments
 (0)