Skip to content

ci: sticky PR comment with ISO build artifact table#57

Merged
phorcys420 merged 5 commits into
mainfrom
iso-builds-m2wd
Jun 30, 2026
Merged

ci: sticky PR comment with ISO build artifact table#57
phorcys420 merged 5 commits into
mainfrom
iso-builds-m2wd

Conversation

@phorcys420

Copy link
Copy Markdown
Member

What

Whenever the Test Nix workflow builds full installer/appliance ISOs on a PR, post — and re-update on every rebuild — a single sticky comment containing a cute markdown table of each ISO's kind, architecture, exact size, and download link.

Example rendered comment:

📀 ISO build artifacts

Kind Arch Size Download
📦 Appliance 💪 aarch64 2.14 GB ⬇️ coder-box-appliance-aarch64-linux.iso
📦 Appliance 🖥️ x86_64 2.31 GB ⬇️ coder-box-appliance-x86_64-linux.iso
🛠️ Installer 💪 aarch64 2.14 GB ⬇️ coder-box-installer-aarch64-linux.iso
🛠️ Installer 🖥️ x86_64 2.31 GB ⬇️ coder-box-installer-x86_64-linux.iso

How

  • Each matrix build records exact ISO byte sizes (stat -c %s) into a per-arch TSV and uploads it as a tiny, 1-day iso-meta-<system> artifact.
  • A new iso-table job (needs: [plan, Images], gated on pull_request + at least one full ISO build) downloads those TSVs, maps each ISO artifact to its browser download URL via the Actions API, renders the table, and upserts a comment matched by a hidden <!-- iso-build-table --> marker — so rebuilds update the same message rather than stacking new ones.

Notes / scope

  • Only pull_request events get the comment (uses pull-requests: write); drv-only validation runs produce no artifacts and are skipped.
  • Download links are GitHub Actions artifact URLs (require sign-in; expire with the 1-day retention) — the only durable link available for CI build artifacts.
  • Per request, this is table only — no qemu/vfkit/Lima/UTM boot helpers.
  • release.yml already attaches ISOs with permanent release-asset URLs to the GitHub Release body; left as-is to keep scope tight (could mirror the table into release notes as a follow-up if wanted).

Whenever the Test Nix workflow builds full installer/appliance ISOs on a
PR, post (and re-update on every rebuild) a single sticky comment with a
markdown table of each ISO's kind, architecture, exact size, and download
link.

- Each matrix build records exact ISO byte sizes to a per-arch TSV and
  uploads it as a tiny iso-meta-<system> artifact.
- A new iso-table job downloads those, maps each ISO artifact to its
  browser download URL, and upserts a marker-tagged comment so rebuilds
  update the same message instead of stacking new ones.
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

📀 ISO build artifacts

Kind Arch Size Download
Installer aarch64 4.15 GB ⬇️ coder-box-installer-aarch64-linux-pr-57-ci-sticky-pr-comment-with-iso-build-arti.iso
Installer x86_64 4.33 GB ⬇️ coder-box-installer-x86_64-linux-pr-57-ci-sticky-pr-comment-with-iso-build-arti.iso
Appliance aarch64 4.27 GB ⬇️ coder-box-appliance-aarch64-linux-pr-57-ci-sticky-pr-comment-with-iso-build-arti.iso
Appliance x86_64 4.45 GB ⬇️ coder-box-appliance-x86_64-linux-pr-57-ci-sticky-pr-comment-with-iso-build-arti.iso

↻ Updated for 14a170f · run #72 · artifacts expire in ~1 day · sign in to GitHub to download.

@phorcys420 phorcys420 merged commit 3c9c04b into main Jun 30, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant