ci: replace Bitrise trigger with Runway pipeline in RC build workflows#28423
Conversation
Replace BITRISE_PIPELINE_URL with BUILD_PIPELINE_URL and handle missing Android public URL gracefully by linking to the CI pipeline run instead of hard-failing. Made-with: Cursor
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
| with: | ||
| platform: android | ||
| source_branch: ${{ needs.validate-and-check-label.outputs.branch-name }} | ||
| skip_version_bump: true |
There was a problem hiding this comment.
Add comment here that mentions the iOS step already handles version bumping
| - name: Read build number from repo | ||
| id: build-meta | ||
| run: | | ||
| BUILD_NUMBER=$(awk '/versionCode[[:space:]]/{print $2; exit}' android/app/build.gradle | tr -d '\r') |
There was a problem hiding this comment.
Derive another build number for iOS and display both iOS and Android for Slack. That will reflect the source of truth and make debugging easier.
Add scripts/get-build-metadata.sh as the single source of truth for reading android_version_code, ios_version_code, and semantic_version from the repo tree. All three consumers now call this script: - build.yml (emit-build-metadata job) - build-rc-auto.yml (post-rc-build-comment job) - build-rc-create.yml (post-slack-notification job) Both iOS and Android build numbers are now passed through to the PR comment and Slack notification scripts, replacing the previous single BUILD_NUMBER. Bitrise references in slack-rc-notification.mjs are replaced with BUILD_PIPELINE_URL. Made-with: Cursor
Made-with: Cursor
|
✅ E2E Fixture Validation — Schema is up to date |
There was a problem hiding this comment.
Remove workflow, this isn't used anymore
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
None of these changes touch application source code, E2E test infrastructure, test fixtures, page objects, or any component that could affect test behavior. These are purely CI/CD pipeline orchestration changes for the RC build and notification process. No E2E tests need to run to validate these changes. Performance Test Selection: |
|



Description
build-rc-auto.ymlandbuild-rc-create.ymlpreviously triggered release candidate builds by calling.github/scripts/rc-builds.sh, which hit the Bitrise API directly. The team has since migrated to a GitHub-Actions-native build pipeline (runway-ota-build-core.yml→build.yml), used by the existingrunway-ios-rc-workflow.ymlandrunway-android-rc-workflow.ymlworkflows. This PR brings the auto and manual RC build workflows in line with that standard.What changed:
build-rc-auto.ymlandbuild-rc-create.yml: removed thebump-version+trigger-rc-build(Bitrise) jobs. They are replaced by two sequenced calls torunway-ota-build-core.yml— iOS first (which performs the build-number bump and uploads to TestFlight), then Android withskip_version_bump: true. Top-levelpermissionsare added as required by the reusable workflow.post-rc-build-comment/post-slack-notificationjobs now read the build number straight fromandroid/app/build.gradleon the release branch (after the iOS build has pushed its version-bump commit), so no additional workflow outputs are needed.rc-builds.sh) is now an explicit step in both workflows.scripts/post-rc-build-comment.mjs: replaced the hard dependency onBITRISE_PIPELINE_URL/ANDROID_PUBLIC_URL(Bitrise artifacts) with aBUILD_PIPELINE_URL(GitHub Actions run URL). The Android row now gracefully falls back to linking the CI run instead of hard-failing when no public artifact URL exists.Changelog
CHANGELOG entry: null
Related issues
Fixes:
Manual testing steps
N/A
Screenshots/Recordings
Before
N/A
After
N/A
Pre-merge author checklist
Pre-merge reviewer checklist
Made with Cursor
Note
Medium Risk
Updates release-candidate build automation and notifications, plus expands workflow permissions; misconfiguration could break RC build sequencing, metadata reporting, or Slack/PR announcements.
Overview
RC build automation is migrated off the Bitrise-triggering
rc-builds.shpath and onto the GitHub Actions Runway pipeline (runway-ota-build-core.yml), with iOS running first to perform the version bump and Android running second withskip_version_bump: true.RC PR comments and Slack notifications are updated to read semver/build numbers from the repo tree via new
scripts/get-build-metadata.sh, and notifications now link to the GitHub Actions run URL (with graceful fallback when no Android public install URL is available). The old manual RC workflow (build-rc-create.yml) is removed, and Runway RC workflows gain a reusableslack-rc-notification.ymlstep.Reviewed by Cursor Bugbot for commit 1d8441f. Bugbot is set up for automated code reviews on this repo. Configure here.