Skip to content

ci: add SideStore build publishing - #273

Closed
louismollick wants to merge 7 commits into
ghenry22:masterfrom
louismollick:sync/fork-master-2026-08-21
Closed

ci: add SideStore build publishing#273
louismollick wants to merge 7 commits into
ghenry22:masterfrom
louismollick:sync/fork-master-2026-08-21

Conversation

@louismollick

Copy link
Copy Markdown

Summary

Rebases the SideStore CI work from louismollick/substreamer:master onto the latest upstream master. Four obsolete coverage-badge commits were dropped during the rebase.

Changes

  • build and publish unsigned iOS SideStore artifacts for master and in-repository PRs
  • generate and validate SideStore source metadata
  • support restricted iOS build configuration without CarPlay or Siri capabilities
  • sync the lockfile for upstream's local expo-scroll-to-top module so npm ci succeeds

Testing

  • npm ci passes
  • repository validation scripts pass
  • npm run test:sidestore-source passes
  • npm run test:sidestore-ipa passes
  • npx tsc --noEmit passes
  • npx jest --no-coverage passes
  • coverage-mode Jest run passes
  • Full unsigned iOS IPA build, left to the macOS workflow after merge because fork-origin PRs are intentionally excluded

Related Issues

None.

* ci: automate SideStore publishing

* ci: use macos-26 runner for SideStore iOS builds

ExpoModulesJSI resolves the apple Swift package, which requires Swift
6.2 (Xcode 26). macos-15 ships Swift 6.1 and fails package resolution.
Coverage badge commits move master forward without triggering
ios-sidestore-build, so skip publish only when a newer successful
main SideStore build exists, not when HEAD no longer matches BUILD_SHA.
gh api --jq accepts only the jq program, not jq CLI flags like
--argjson. Inline the run number in the filter instead.
upload-artifact preserves the build/ path prefix, so publish must
look under artifact/build/ for the packaged IPA.
Add workflow_dispatch so a successful build artifact can be published
without rerunning the macOS job. Resolve build-run metadata from the
API when dispatching manually.
gh release upload ignores the #rename suffix when the local path
contains directories, so source.json pointed at an asset that was never
uploaded under that name.
@louismollick
louismollick force-pushed the sync/fork-master-2026-08-21 branch from dfe0df0 to df849cf Compare August 21, 2026 06:17
@louismollick
louismollick deleted the sync/fork-master-2026-08-21 branch August 21, 2026 06:32
@louismollick
louismollick restored the sync/fork-master-2026-08-21 branch August 21, 2026 06:34
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