ci: switch ISO publish from artifacts to GitHub Releases
Artifact storage quota (50GB Pro tier) maxed out with ~18 iterations of 2.7GB ISOs. Quota recalc 6-12h not in our cadence. Builds succeed but upload step fails — wasting CI minutes + blocking testing. Switch to GitHub Releases (no storage quota): - Every successful build on main updates rolling `ci-latest` prerelease draft. Replaces files in place. - Tag-driven releases (v*.*.*) keep their existing publish path. - Build logs remain as artifacts (small + opt-in failure only, retention=1d). User can `gh release download ci-latest --repo veilor-org/veilor-os` or browse to releases page. No more artifact quota wall.
This commit is contained in:
parent
0f4647577b
commit
75a68a1187
1 changed files with 21 additions and 7 deletions
28
.github/workflows/build-iso.yml
vendored
28
.github/workflows/build-iso.yml
vendored
|
|
@ -165,15 +165,28 @@ jobs:
|
|||
sha256sum "$ISO_NAME" > "$ISO_NAME.sha256"
|
||||
ls -lh "$ISO_NAME"
|
||||
|
||||
- name: Upload ISO artifact
|
||||
if: success()
|
||||
uses: actions/upload-artifact@v4
|
||||
# ── ISO publish ────────────────────────────────────────────────────
|
||||
# Use GitHub Releases (not Actions artifacts) for ISO storage.
|
||||
# Reason: artifact quota maxed at 50GB on Pro tier with ~18 ISOs.
|
||||
# Releases have effectively unlimited storage per public/private repo.
|
||||
# On every successful build of main, update the rolling `ci-latest`
|
||||
# prerelease draft. Tag releases (`v*.*.*`) get a separate proper
|
||||
# release. Build logs stay as artifacts (they're tiny + opt-in only
|
||||
# on failure).
|
||||
- name: Publish ISO to ci-latest rolling prerelease
|
||||
if: success() && github.ref == 'refs/heads/main'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
name: veilor-os-iso
|
||||
path: |
|
||||
tag_name: ci-latest
|
||||
name: "ci-latest (auto)"
|
||||
body: |
|
||||
Rolling auto-build from `main`. Latest commit: ${{ github.sha }}.
|
||||
Replaces on every push. Not a stable release — for testing only.
|
||||
prerelease: true
|
||||
make_latest: false
|
||||
files: |
|
||||
build/out/*.iso
|
||||
build/out/*.sha256
|
||||
retention-days: 3
|
||||
|
||||
- name: Upload build log on failure
|
||||
if: failure()
|
||||
|
|
@ -183,8 +196,9 @@ jobs:
|
|||
path: |
|
||||
build/out/build.log
|
||||
build/out/build/anaconda/
|
||||
retention-days: 1
|
||||
|
||||
- name: Attach to release
|
||||
- name: Attach to release on tag
|
||||
if: github.event_name == 'release'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
|
|
|
|||
Loading…
Reference in a new issue