Skip to content

Release workflow: auto-update the AltStore source manifest#23

Merged
ryanbr merged 1 commit into
mainfrom
release-yml-altstore-automation
Jul 7, 2026
Merged

Release workflow: auto-update the AltStore source manifest#23
ryanbr merged 1 commit into
mainfrom
release-yml-altstore-automation

Conversation

@ryanbr

@ryanbr ryanbr commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Automates what PR #19 did by hand: each Release build now prepends the new version to altstore-source.json — the manifest AltStore/SideStore reads from raw.githubusercontent.com/ryanbr/noop/main/... (docs/IOS.md) — so sideload users are offered the release automatically.

How

  • New altstore job (needs: [bump, ios]): pulls the freshly-uploaded IPA’s byte size off the release asset, then prepends {version, buildVersion, date, localizedDescription, downloadURL, size, minOSVersion} to apps[0].versions and mirrors those into the app-level legacy fields older AltStore clients read (PR Update altstore-source.json with version 8.3.0 #19 only did the array).
  • bump now outputs buildVersion (CURRENT_PROJECT_VERSION) for the manifest.
  • Commits to main (where AltStore reads), regardless of the release branch.

Safety

  • Idempotent — dedupes the version, so a re-run of the same release doesn’t duplicate it (dry-run verified).
  • Best-effort — a missing manifest / IPA asset / push conflict warns and skips, never failing the release.
  • Also corrects the workflow’s git config author email.

Note on 8.3.0

Already released, so the workflow won’t backfill it. Either merge #19 (its array-only entry) or re-run the Release build for v8.3.0 — which will now populate AltStore automatically (and more completely than #19).

Validated locally: YAML parses (jobs: bump, android, macos, ios, altstore); the jq produces valid JSON with the entry prepended + app-level fields updated + idempotent on re-run.

Each Release build now prepends the new version to altstore-source.json (the manifest
AltStore/SideStore reads from raw main, docs/IOS.md) instead of a manual PR (#19):

- New 'altstore' job (needs bump + ios) pulls the freshly-uploaded IPA's byte size off the
  release asset, then prepends {version, buildVersion, date, localizedDescription,
  downloadURL, size, minOSVersion} to apps[0].versions AND mirrors those into the app-level
  legacy fields older AltStore clients read. Idempotent (dedupes the version on a re-run).
- bump now outputs buildVersion (CURRENT_PROJECT_VERSION) for the manifest.
- Commits to main (where AltStore reads); best-effort — a missing manifest / IPA / push
  conflict warns and skips, never failing the release.

Also fixes the git config author email in the workflow to mp3geek@gmail.com.
@ryanbr ryanbr merged commit c7a63bf into main Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant