Skip to content

fix: speed up CI - #634

Open
maxday wants to merge 3 commits into
mainfrom
maxday/speed-up-ci
Open

fix: speed up CI#634
maxday wants to merge 3 commits into
mainfrom
maxday/speed-up-ci

Conversation

@maxday

@maxday maxday commented Aug 18, 2026

Copy link
Copy Markdown
Member

Speeds up the Runtime Interface Client (RIC) CI by running each architecture on a native GitHub runner instead of cross-building both architectures on a single x86_64 runner under QEMU emulation.

Previously the build and smoke-test jobs ran on ubuntu-latest and used QEMU to emulate linux/arm64/v8. Under emulation mvn install recompiles curl for aarch64, which took ~30 minutes. This PR splits the work per-architecture so the aarch64 half runs on a native ARM runner (ubuntu-24.04-arm), eliminating the emulation cost.

Results:

Measured on the RIC PR workflow (both jobs run in parallel, so the reported wall-clock is the longest job).

Job Before (QEMU, single x86_64 runner) After (native runners)
build 44m 06s x86_64: 5m 31s · aarch64: 4m 47s
smoke-test 45m 51s x86_64: 8m 55s · aarch64: 9m 24s
Workflow wall-clock ~46 min ~13 min

Net gain: ~33 minutes faster (~71% reduction) in end-to-end CI time. The bulk of the saving comes from smoke-test, which dropped from ~46 min to ~9 min (~37 min, ~80% faster) by eliminating the emulated aarch64 curl recompile.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

maxday added 2 commits August 18, 2026 18:48
The multiArch=false path skips architectures whose name doesn't match
the host arch, but ARCHITECTURES uses Maven's classifier spelling
'aarch_64' while `arch` reports 'aarch64'. On the ARM runner this
mismatch caused every arch to be skipped, so no .so was built and the
unit tests crashed loading the native library.

Normalize the host arch to 'aarch_64' before comparing.
@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.79%. Comparing base (b668333) to head (891251e).

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #634      +/-   ##
============================================
+ Coverage     65.38%   65.79%   +0.40%     
- Complexity      212      213       +1     
============================================
  Files            34       34              
  Lines           991      991              
  Branches        143      143              
============================================
+ Hits            648      652       +4     
+ Misses          290      287       -3     
+ Partials         53       52       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@maxday
maxday marked this pull request as ready for review August 19, 2026 03:15
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