Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🐛 fix arm64 transient fault for linux#145

Merged
gimlichael merged 2 commits intomain from
v10.2.1/ci-fix-again
Feb 13, 2026
Merged

🐛 fix arm64 transient fault for linux #145
gimlichael merged 2 commits intomain from
v10.2.1/ci-fix-again

Conversation

@gimlichael
Copy link
Member

@gimlichael gimlichael commented Feb 13, 2026
edited by coderabbitai bot
Loading

This pull request updates the CI pipeline workflow to improve support for multiple architectures and streamline artifact handling. The main focus is on replacing OS-based matrix strategies with architecture-based ones, updating artifact naming conventions, and ensuring proper artifact download patterns.

CI Pipeline architecture and artifact improvements:

  • Changed build and test job matrix strategies to use arch (X64, ARM64) instead of os, simplifying cross-platform support and making the workflow easier to maintain. ([[1]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850R45-R52), [[2]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850L71-R103))
  • Updated the runs-on parameter in build and test jobs to dynamically select the runner based on the arch value, improving clarity and reducing redundancy. ([[1]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850R45-R52), [[2]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850L71-R103))
  • Changed artifact naming to include both configuration and architecture (e.g., build-Debug-X64), and updated the artifact download pattern to match this new naming scheme, ensuring correct artifact retrieval for each architecture. ([[1]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850R45-R52), [[2]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850L71-R103), [[3]](https://github.com/codebeltnet/cuemon/pull/145/files#diff-6aa4809fbc7f18724c21281e7408804202ca7692ad5a25b32167f8301906c850L131-R136))

Summary by CodeRabbit

  • Chores
    • CI pipeline now builds and tests for ARM64 in addition to X64.
    • Build artifacts are organized per-architecture and download patterns updated accordingly.
    • Test and integration workflows use architecture-specific runners for more reliable, optimized execution.

@gimlichael gimlichael self-assigned this Feb 13, 2026
Copilot AI review requested due to automatic review settings February 13, 2026 00:12
Copy link

coderabbitai bot commented Feb 13, 2026
edited
Loading

📝 Walkthrough

Walkthrough

Adds architecture matrix (X64, ARM64) to CI build and test jobs, conditionally selects ARM-specific runners, updates artifact naming/download to include arch, and adjusts integration_test to explicitly download X64 build artifacts.

Changes

Cohort / File(s) Summary
CI pipeline — build & tests
.github/workflows/ci-pipeline.yml (build job, test_linux job, test_windows job)
Adds arch: [X64, ARM64] matrix entries; conditional runs-on selection for ARM64 (ubuntu-24.04-arm, windows-11-arm) vs defaults; propagates matrix.arch into artifact upload/download names (e.g., build-${{ matrix.configuration }}-${{ matrix.arch }}).
CI pipeline — packaging & integration_test artifact handling
.github/workflows/ci-pipeline.yml (pack job, integration_test job)
Introduces per-arch download patterns (e.g., build-${{ matrix.configuration }}-X64) for pack and integration_test; replaces prior generic download pattern with explicit X64 artifact downloads for integration tests.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I hopped through CI with a twitchy grin,

Two arches now dance — X64 and ARM within,
Artifacts labeled, tidy and bright,
I nibble failures and wake them to light,
Hooray for builds that run just right! 🥕

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: adding ARM64 architecture support to the Linux CI pipeline with architecture-based runner selection and artifact handling.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v10.2.1/ci-fix-again

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
.github/workflows/ci-pipeline.yml (1)

43-52: needs.build.outputs.version relies on non-deterministic matrix output selection.

The build job matrix (×ばつ2: arch ×ばつ configuration) means needs.build.outputs.version at lines 66, 253, and 281 will come from whichever matrix leg completes last. While all legs should produce identical version strings since version derives from source code, the pattern is fragile—a skipped or failed leg could silently return a stale output value. Consider extracting version resolution into a separate lightweight job or explicitly pinning output consumption to a specific matrix combination.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/ci-pipeline.yml (1)

57-66: ⚠️ Potential issue | 🟠 Major

Pack job will fail to find build artifacts with the new naming scheme.

The build job now uploads artifacts as build-{config}-{arch} (e.g., build-Debug-X64, build-Debug-ARM64), but the pack job doesn't pass a download-pattern parameter. The test jobs work around this by explicitly specifying download-pattern: build-${{ matrix.configuration }}-${{ matrix.arch }}, but the pack job is missing this parameter.

Additionally, the pack job's matrix only includes configuration (no arch), so it cannot construct an arch-aware pattern. When the pack workflow tries to download artifacts, it will either fail or attempt to download the wrong artifacts.

Add download-pattern to the pack job, likely download-pattern: build-${{ matrix.configuration }}-X64 (or whichever architecture should be used for packaging):

Suggested change
pack:
 name: call-pack
 needs: [build]
 strategy:
 matrix:
 configuration: [Debug, Release]
 uses: codebeltnet/jobs-dotnet-pack/.github/workflows/default.yml@v3
 with:
 configuration: ${{ matrix.configuration }}
 version: ${{ needs.build.outputs.version }}
 download-pattern: build-${{ matrix.configuration }}-X64
🧹 Nitpick comments (1)
.github/workflows/ci-pipeline.yml (1)

139-227: Consider removing or reducing this extensive diagnostic step.

This ~90-line diagnostic bash script in the integration_test job outputs detailed filesystem, ELF binary, and mount diagnostics. Now that the ARM64 transient fault is being addressed via arch-specific matrix jobs and runners, this troubleshooting code may no longer be needed. If you still want to keep some diagnostics, consider trimming it to just the essential chmod command (line 168) and a brief summary, rather than the full deep-dive.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request refactors the CI pipeline to use architecture-based matrix strategies instead of OS-based ones, addressing ARM64 transient faults on Linux. The changes introduce explicit architecture dimensions (X64, ARM64) to build and test jobs, update artifact naming to include architecture information, and ensure proper artifact downloads across all test environments.

Changes:

  • Introduced architecture-based matrix strategy (arch: [X64, ARM64]) for build and test jobs, replacing OS-based matrices
  • Updated artifact naming convention to include both configuration and architecture (e.g., build-Debug-X64)
  • Added architecture-specific download-pattern parameters to test jobs to ensure correct artifact retrieval

Copy link

Copy link

codecov bot commented Feb 13, 2026
edited
Loading

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.53%. Comparing base (f95659e) to head (eecfb5b).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@
## main #145 +/- ##
=======================================
 Coverage 80.53% 80.53% 
=======================================
 Files 598 598 
 Lines 18826 18839 +13 
 Branches 1934 1936 +2 
=======================================
+ Hits 15161 15172 +11 
- Misses 3599 3601 +2 
 Partials 66 66 

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gimlichael gimlichael merged commit 275a35b into main Feb 13, 2026
607 of 608 checks passed
@gimlichael gimlichael deleted the v10.2.1/ci-fix-again branch February 13, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@coderabbitai coderabbitai[bot] coderabbitai[bot] left review comments

Copilot code review Copilot Copilot left review comments

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /