ci(.github): publish release ISOs as artifacts, share the ISO table - #73
Merged
Conversation
GitHub release assets are capped at 2 GiB, which the box ISOs now exceed, so tagged releases failed while uploading the images. Publish each ISO as a GitHub Actions artifact (90-day retention, the public-repo max) instead and carry a table linking every kind/arch in the release body. Extract the PR sticky-comment table renderer into a reusable iso-table composite action, reused verbatim by the release body. Fold ISO size recording into the build-iso action (new system input) so both workflows get the size metadata for free. Stopgap until the ISOs move to S3, at which point only the upload steps and the iso-table links change.
phorcys420
marked this pull request as ready for review
August 24, 2026 21:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Tagged releases were failing while uploading the ISOs:
GitHub release assets are hard-capped at 2 GiB and the box ISOs now exceed that. This reworks the release flow to publish each ISO as a GitHub Actions artifact instead, and carries a size + download table in the release body.
Note
This is an interim step. The ISOs will move to an S3 URL later; at that point only the upload steps and the
iso-tablelinks change. The release currently has no downloadable release assets — the table links to Actions artifacts (GitHub login required, 90-day retention, the public-repo max).Changes
release.yml: upload ISO +.sha256as one artifact per kind (coder-box-<target>-<system>, 90-day retention); drop the>2 GiBrelease-asset upload. The release job downloads only the tiny size metadata, renders the shared table, and sets it as the release body..github/actions/iso-table(new): the PR sticky-comment table renderer extracted into a reusable composite action. Outputstable;sticky-comment: trueupserts the PR comment (test workflow), the release workflow feedstableinto the release body.expiry-daysdrives the footer (1 for PRs, 90 for releases).build-iso: newsysteminput; folds ISO size recording (iso-sizes-<target>-<system>.tsv) into the action so both workflows get metadata for free.test.yml: swap ~90 lines of inlinegithub-scriptfor the shared action; add checkout +actions: read.Validation
actionlintclean;node --check+shellcheckon the embedded blocks clean.~90 days.Design notes / decisions
iso-sizes-<target>-<system>.tsvand metadata artifactsiso-meta-<target>-<system>somerge-multipledownloads never clash when installer + appliance share an arch (the release matrix is per-kind×arch = 4 jobs).listWorkflowRunArtifacts(hence the addedactions: read), the same artifacts each workflow just uploaded.Opened by Coder Agents on behalf of @phorcys420.