chore: add upload of ARM64 build to apk branch#3113
chore: add upload of ARM64 build to apk branch#3113marcnause wants to merge 4 commits intofossasia:flutterfrom
Conversation
Reviewer's GuideExtends the GitHub Actions push workflow to build Linux ARM64 packages using a shared workflow and upload them to the apk branch, while adjusting the existing apk-branch cleanup logic to preserve architecture-specific artifacts appropriately. Flow diagram for ARM64 packages upload to apk branchflowchart TD
Start["Start linux-arm64 job"] --> Checkout["Checkout repository"]
Checkout --> RunWorkflow["Run shared linux-arm64 workflow with VERSION_NAME and VERSION_CODE"]
RunWorkflow --> ConfigureGit["Configure git user for github-actions[bot]"]
ConfigureGit --> CloneApk["Clone apk branch into apk directory"]
CloneApk --> DetermineBranch["Determine source branch name"]
DetermineBranch --> CleanArm64["Remove existing *arm64*.deb and *aarch64*.rpm from apk"]
CleanArm64 --> CopyDeb["Copy generated *.deb into apk directory"]
CopyDeb --> CopyRpm["Copy generated *.rpm into apk directory"]
CopyRpm --> OrphanBranch["Create orphan branch temporary"]
OrphanBranch --> AddAll["git add --all"]
AddAll --> Commit["Commit with auto ARM64 packages message"]
Commit --> ReplaceApk["Delete old apk branch and rename temporary to apk"]
ReplaceApk --> PushForce["Force-push apk to origin"]
PushForce --> End["End linux-arm64 job"]
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Pull request overview
Adds a new GitHub Actions job to build Linux ARM64 packages and publish them to the apk branch, aligning push-event.yml with the repo’s existing “latest builds in apk branch” distribution approach.
Changes:
- Introduces a
linux-arm64job running onubuntu-24.04-arm. - Runs the existing
.github/actions/linux-arm64composite action to produce.deb/.rpm. - Pushes the generated ARM64 packages to the
apkbranch.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
distinct architecture
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| git checkout --orphan temporary | ||
| git add --all . | ||
| git commit -am "[Auto] Update Linux ARM64 Packages from $branch ($(date +%Y-%m-%d.%H:%M:%S))" | ||
| git branch -D apk | ||
| git branch -m apk | ||
| git push --force origin apk |
There was a problem hiding this comment.
linux-arm64 updates the apk branch by creating an orphan commit and git push --force. Because other jobs in this same workflow (e.g., linux, windows, macos) also do the same in parallel, this job can overwrite their updates with a stale clone (last-writer-wins), even though the deletion patterns are now arch-specific. Serialize all apk publishing (e.g., workflow/job concurrency group shared by all publishing jobs, or a single dedicated publish job that runs after all builds and pushes once).
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
Build StatusBuild successful. APKs to test: https://github.com/fossasia/pslab-app/actions/runs/22645911485/artifacts/5750193764. Screenshots |







-1_instruments_screen.png?raw=true)
-2_nav_drawer.png?raw=true)
-3_accelerometer.png?raw=true)
-4_power_source.png?raw=true)
-5_multimeter.png?raw=true)
-6_wave_generator.png?raw=true)
-7_oscilloscope.png?raw=true)
Fixes #3111
Changes
Screenshots / Recordings
N/A
Checklist:
constants.dartor localization files instead of hard-coded values.dart formator the IDE formatter.flutter analyzeand tests run influtter test.Summary by Sourcery
Add Linux ARM64 build artifacts to the apk branch and adjust workflow cleanup to preserve the appropriate package files.
Build:
CI: