Skip to content

Commit 270b842

Browse files
authored
Merge pull request #28 from pylon-code/ci/artifact-retention-budget
ci: nightly builds no longer exhaust the artifact storage quota
2 parents 0363be0 + 22c4bbc commit 270b842

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -341,12 +341,15 @@ jobs:
341341
cp "$pty_dir/build/Release/pty.node" wsl-prebuild/pty.node
342342
file wsl-prebuild/pty.node
343343
344+
# Consumed by the Windows build in this same run, so it only needs to
345+
# outlive the run. Left unset it inherited the 90-day repository default.
344346
- name: Upload node-pty linux-x64 prebuild
345347
uses: actions/upload-artifact@v7
346348
with:
347349
name: wsl-node-pty-x64
348350
path: wsl-prebuild/pty.node
349351
if-no-files-found: error
352+
retention-days: 1
350353

351354
build:
352355
name: Build ${{ matrix.label }}
@@ -708,19 +711,24 @@ jobs:
708711
709712
# These are intra-run handoff to `publish_release`, which downloads
710713
# `desktop-*` and attaches them to the GitHub Release — that Release is the
711-
# durable copy, not the artifact. At the repository default of 90 days a
712-
# daily nightly retains ~880 MB per run across the four platforms, which
713-
# reached ~14 GB and exhausted the account's artifact storage quota; once
714-
# that happens *every* upload in the org fails, reddening unrelated PRs.
715-
# A week is long enough to re-run a failed publish job against the same
716-
# build and short enough to cap steady state near 6 GB.
714+
# durable copy, not the artifact. Retention here has to be sized against
715+
# the org's included Actions storage, because overrunning it fails *every*
716+
# upload in the org, reddening unrelated PRs: the Team plan includes
717+
# 2 GB-month, and GitHub meters in GB-hours, so the budget is 2 * 730 =
718+
# 1460 GB-hours. At ~915 MB per run across the four platforms, a daily
719+
# nightly costs 0.915 * retention_days * 730 GB-hours. The repository
720+
# default of 90 days reached ~14 GB/day and exhausted the quota; 7 days
721+
# still bills ~4665 GB-hours, over triple the budget. One day costs ~666
722+
# and leaves room for PR CI and tagged stable releases. Re-running a
723+
# failed publish job against an older build is not worth the outage —
724+
# re-dispatch the workflow instead.
717725
- name: Upload build artifacts
718726
uses: actions/upload-artifact@v7
719727
with:
720728
name: desktop-${{ matrix.platform }}-${{ matrix.arch }}
721729
path: release-publish/*
722730
if-no-files-found: error
723-
retention-days: 7
731+
retention-days: 1
724732

725733
- name: Upload resource monitor
726734
uses: actions/upload-artifact@v7

0 commit comments

Comments
 (0)