Skip to content

ci(release): build the linux prebuilds on ubuntu 22.04 - #97

Merged
GuillaumeLagrange merged 1 commit into
mainfrom
cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not
Oct 14, 2026
Merged

GuillaumeLagrange merged 1 commit into
mainfrom
cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not

Conversation

@GuillaumeLagrange

@GuillaumeLagrange GuillaumeLagrange commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Build the Linux prebuilds of @codspeed/core on Ubuntu 22.04, for both x64 and arm64.

In 6.0.0 the arm64 prebuild moved to an ubuntu-26.04-arm runner, whose GCC 14 libstdc++ adds a CXXABI_1.3.15 requirement, so the addon fails to load on older distros such as Ubuntu 22.04. The arm64 prebuild now runs on ubuntu-22.04-arm, and the build job, which produces the x64 prebuild, is pinned to ubuntu-22.04 instead of ubuntu-latest, so a future runner bump cannot hit x64 the same way.

Published as 6.0.1-alpha.1 from this branch. Symbol versions required by the Linux prebuilds:

prebuild 6.0.0 6.0.1-alpha.1
linux-arm64 CXXABI_1.3.15, GLIBCXX_3.4.21, GLIBC_2.17 CXXABI_1.3.9, GLIBCXX_3.4.21, GLIBC_2.17
linux-x64 CXXABI_1.3.9, GLIBCXX_3.4.21, GLIBC_2.17 CXXABI_1.3.9, GLIBCXX_3.4.21, GLIBC_2.17

The alpha also passed our integration benchmarks with @codspeed/vitest-plugin.

Closes #96
Closes COD-3881

@GuillaumeLagrange
GuillaumeLagrange marked this pull request as ready for review October 13, 2026 21:08
@GuillaumeLagrange
GuillaumeLagrange force-pushed the cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not branch from e9f99ab to 7d473b9 Compare October 13, 2026 21:10
@greptile-apps

greptile-apps Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] The PR appears safe to merge; no actionable issues were found.

Summary

The release workflow now builds both Linux prebuilds on Ubuntu 22.04.

  • Linux native prebuilds now come from Ubuntu 22.04 runners.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  X["Ubuntu 22.04: x64"] --> A["Upload prebuilds"]
  R["Ubuntu 22.04: arm64"] --> A
  M["macOS: arm64"] --> A
  B["Build libraries"] --> D["Delete local prebuilds"]
  D --> F["Download and merge prebuilds"]
  A --> F
  F --> P["Publish packages"]
Loading

Reviews (1) · Last reviewed commit: e9f99ab · Reviewed by Greptile

@codspeed

codspeed Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Merging this PR will regress 5 benchmarks

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ 14 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 25 benchmarks have no flame graph

The flamegraph could not be generated because too much time was spent in runtime internals, making the visualization not useful for performance analysis.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 10 improved benchmarks
❌ 5 regressed benchmarks
✅ 249 untouched benchmarks
⏩ 56 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ WallTime test sync baz 10 120 ns 144 ns -16.67%
❌ WallTime test_iterative_fibo_10 120 ns 144 ns -16.67%
❌ WallTime test sync baz 100 216 ns 252 ns -14.29%
❌ WallTime switch 1 72 ns 84 ns -14.29%
❌ WallTime switch 2 84 ns 96 ns -12.5%
⚡ ⚠️ Simulation switch 1 1,075.9 µs 245 µs ×4.4
⚡ WallTime fibo darwin 9.3 ms 5.2 ms +78.35%
⚡ Simulation short body 242.5 µs 153.6 µs +57.85%
⚡ Simulation short body 242.7 µs 154 µs +57.62%
⚡ ⚠️ Simulation wait 500ms 49.3 ms 36.2 ms +36.23%
⚡ ⚠️ Simulation wait 1sec 89.3 ms 72.9 ms +22.45%
⚡ Simulation long body 639.6 µs 548.5 µs +16.6%
⚡ Simulation long body 639.6 µs 548.8 µs +16.56%
⚡ WallTime switch 2 96 ns 84 ns +14.29%
⚡ ⚠️ Simulation switch 1 269.7 µs 245.1 µs +10.04%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not (8110099) with main (f08a6b7)

Open in CodSpeed

Footnotes

  1. 56 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@GuillaumeLagrange
GuillaumeLagrange force-pushed the cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not branch from 48eeb18 to 7d473b9 Compare October 13, 2026 21:21
@GuillaumeLagrange
GuillaumeLagrange force-pushed the cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not branch from 7d473b9 to 8110099 Compare October 13, 2026 21:25
@GuillaumeLagrange
GuillaumeLagrange merged commit 8110099 into main Oct 14, 2026
47 of 48 checks passed
@GuillaumeLagrange
GuillaumeLagrange deleted the cod-3881-600-fails-on-linux-arm64-with-older-libstdc-cxxabi_1315-not branch October 14, 2026 07:49
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.

6.0.0 fails on Linux arm64 with older libstdc++ (CXXABI_1.3.15 not found)

2 participants