ci: migrate primary CI jobs to ARM runners#7232
ci: migrate primary CI jobs to ARM runners#7232thepastaclaw wants to merge 4 commits intodashpay:developfrom
Conversation
Move depends-linux64 and its consumers (linux64, fuzz, sqlite, ubsan) to ARM runners, making aarch64 the primary CI architecture. This includes both build and test stages. Drop the aarch64-linux cross-compile job (depends + src) and its setup env script since we don't ship arm-linux-gnueabihf binaries and now have native aarch64 coverage through the migrated jobs. Jobs remaining on x86: - nowallet (build + test): sole x86_64 native coverage - mac, win64: cross-compile targets (x86 host) - lint: architecture-independent Update 00_setup_env_native_qt5.sh to dynamically detect HOST based on the runner architecture instead of hardcoding x86_64.
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
✅ No Merge Conflicts DetectedThis PR currently has no conflicts with other open PRs. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
WalkthroughThe changes restructure CI/CD workflows and environment setup scripts, primarily removing aarch64 Linux build support and realigning the build infrastructure. The GitHub Actions build workflow is updated to remove aarch64-specific jobs and rename linux64 builds, with runner targets changing from amd64 to arm64 across multiple jobs. The CI matrix script removes aarch64-linux initialization, and the corresponding environment setup script is deleted entirely. The native Qt5 setup script is enhanced with architecture detection logic based on system properties (uname and dpkg output) and new environment variable exports for test execution and download configuration. Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can generate a title for your PR based on the changes with custom instructions.Set the |
Summary
Migrate the primary CI path from x86 to ARM runners, reducing costs and providing native aarch64 build+test coverage.
Changes
Moved to ARM runners (
runner-arm64)depends-linux64(shared depends for linux64, fuzz, sqlite, ubsan)src-linux64+test-linux64(primary native build+test)src-linux64_fuzz(fuzz build)src-linux64_sqlite+test-linux64_sqlite(SQLite build+test)src-linux64_ubsan+test-linux64_ubsan(UBSan build+test)Removed
depends-aarch64-linux+src-aarch64-linux— the cross-compile job foraarch64-linux-gnufrom x86 runners. We don't shiparm-linux-gnueabihfbinaries, and native aarch64 coverage is now provided by the migrated jobs.ci/test/00_setup_env_aarch64.sh— the cross-compile setup scriptRemaining on x86 (
runner-amd64)nowallet(build + test) — sole native x86_64 coveragemac,win64— cross-compile targetslint— architecture-independentSetup script fix
Updated
ci/test/00_setup_env_native_qt5.shto dynamically detect HOST based onuname -minstead of hardcodingx86_64-pc-linux-gnu, matching the pattern already used by multiprocess and tsan setup scripts.Validation
runner-arm64in build.yml00_setup_env_native_qt5.shuses the same arch-detection pattern as00_setup_env_native_multiprocess.shand00_setup_env_native_tsan.shconfig.guesswhich auto-detects)aarch64-linux-gnu(needed by linux64'sDOWNLOAD_PREVIOUS_RELEASES)depends-aarch64-linuxorsrc-aarch64-linuxremain in build.yml