[MBL-19484][All] Migrate release pipeline from Bitrise to GitHub Actions#3554
Open
hermannakos wants to merge 1 commit intomasterfrom
Open
[MBL-19484][All] Migrate release pipeline from Bitrise to GitHub Actions#3554hermannakos wants to merge 1 commit intomasterfrom
hermannakos wants to merge 1 commit intomasterfrom
Conversation
Migrate the full release lifecycle from Bitrise to GitHub Actions for Student, Teacher, and Parent apps. Adds 9 workflow files covering: release pipeline (build/test/RC/Slack), tag creation, release notes, and Play Store deployment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📊 Code Coverage Report✅ Student
✅ Teacher
✅ Pandautils
📈 Overall Average
|
🧪 Unit Test Results✅ 📱 Parent App
✅ 📱 Student App
✅ 📱 Teacher App
✅ 🌅 Horizon
✅ 📦 Submodules
📊 Summary
Last updated: Wed, 25 Feb 2026 13:53:30 GMT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the full release lifecycle from Bitrise to GitHub Actions for all 3 apps (Student, Teacher, Parent). Adds 9 workflow files:
Reusable release pipeline (
reusable-release-pipeline.yml):e2e-offlinejob for Student onlybuild-release-candidategates on all tests passing (handles skipped jobs correctly)Per-app thin wrappers (trigger on PR →
release/{app}):release-student.yml,release-teacher.yml,release-parent.ymlTag creation (
create-tag.yml):release/*branches (i.e., PR merge)build.gradle, creates git tag + draft GitHub ReleaseRelease notes (
release-notes.yml):workflow_dispatchtrigger, generates notes from git log and posts to SlackPlay Store deploy (
deploy-student.yml,deploy-teacher.yml,deploy-parent.yml):student-*,teacher-*,parent-*)Key design decisions
gradle/actions/setup-gradle@v4(handles JDK 17 + Gradle caching automatically)fail-fast: falseif: always()blocksANDROID_KEYSTORE_PASSWORD,ANDROID_KEYSTORE_ALIAS,ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD,SLACK_URL, etc.)New secrets required
GPLAY_SERVICE_ACCOUNT_KEY— Google Play service account JSONJIRA_USERNAME/JIRA_API_TOKEN— JIRA API credentials (optional, workflow skips JIRA step if not set)No changes needed
pr-pipeline.ymlalready excludesrelease/*branches (lines 7-9)Test plan:
release/student→ verify pipeline triggersbuild-release-candidategates correctly (including skippede2e-offline)create-tag.ymlfires, creates tag + draft GitHub Releasedeploy-student.ymlrelease-notes.ymlmanually viaworkflow_dispatchrefs: MBL-19484
affects: Student, Teacher, Parent
release note: none