Skip to content

Conversation

@inkydragon
Copy link
Member

@inkydragon inkydragon commented Dec 12, 2025

Test with:

  • [ubuntu-latest, windows-latest, macos-15-intel] x [x64] x ['lts', '1']
  • macos-latest x [aarch64] x ['lts', '1']
  • ubuntu-latest x [x86] x ['1']
  • (tier 2) ubuntu-24.04-arm x [aarch64] x ['1']

replace #313, fix #315

> The macOS-13 based runner images are being deprecated, consider switching to macOS-15 (macos-15-intel) or macOS 15 arm64 (macos-latest) instead
@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.42%. Comparing base (d70026a) to head (d46b83e).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
+ Coverage   92.38%   96.42%   +4.04%     
==========================================
  Files           7        7              
  Lines         735      784      +49     
==========================================
+ Hits          679      756      +77     
+ Misses         56       28      -28     

☔ 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.

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 PR consolidates ARM architecture testing by removing the separate UnitTestArm.yml workflow and integrating ARM testing into the main UnitTest.yml workflow. The changes modernize the CI configuration by adding concurrency controls, updating Julia version specifiers, and attempting to use native ARM runners instead of emulation.

Key Changes:

  • Removes separate ARM workflow that used Docker-based emulation via uraimo/run-on-arch-action
  • Adds concurrency configuration to cancel redundant PR builds
  • Updates Julia version testing from '1.6' to 'lts' and attempts to add native ARM runner support

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
.github/workflows/UnitTestArm.yml Deleted - separate ARM workflow using Docker emulation removed
.github/workflows/UnitTest.yml Updated to consolidate testing, add concurrency controls, attempt ARM runner integration, and modernize Julia version specs

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

matrix:
julia-version: ['1.6', '1']
os: [ubuntu-latest, windows-latest, macos-13]
julia-version: ['lts', '1']
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The removal of Julia '1.0' from the test matrix is inconsistent with the package's compatibility declaration in Project.toml, which specifies 'julia = "1"' (meaning Julia 1.0+). The previous UnitTestArm.yml workflow tested Julia 1.0. If the package still claims to support Julia 1.0, it should be tested in CI. If Julia 1.0 support is being dropped, the Project.toml compat entry should be updated accordingly.

Copilot uses AI. Check for mistakes.
matrix:
julia-version: ['1.6', '1']
os: [ubuntu-latest, windows-latest, macos-13]
julia-version: ['lts', '1']
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The 'nightly' Julia version has been removed from the test matrix. While this simplifies CI, testing against nightly builds can help catch compatibility issues early before new Julia versions are released. Consider whether removing nightly testing is intentional and aligns with the project's maintenance goals.

Copilot uses AI. Check for mistakes.
julia-version: ['1.6', '1']
os: [ubuntu-latest, windows-latest, macos-13]
julia-version: ['lts', '1']
os: [ubuntu-latest, windows-latest, macos-15-intel]
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The runner name 'macos-15-intel' does not appear to be a valid GitHub-hosted runner. As of macOS 15, GitHub-hosted runners use ARM64 (Apple Silicon) architecture. For Intel-based macOS runners, you should use 'macos-13' which is the last Intel-based macOS runner provided by GitHub. If you need Intel testing on macOS, consider using 'macos-13', or if you want the latest macOS on ARM, use 'macos-latest' or 'macos-15'.

Suggested change
os: [ubuntu-latest, windows-latest, macos-15-intel]
os: [ubuntu-latest, windows-latest, macos-13]

Copilot uses AI. Check for mistakes.
Comment on lines 35 to 38
- os: ubuntu-24.04-arm
julia-version: 'lts'
julia-arch: aarch64
- os: ubuntu-24.04-arm
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The runner name 'ubuntu-24.04-arm' does not appear to be a standard GitHub-hosted runner. GitHub does not currently provide ARM-based Ubuntu runners as standard hosted runners. If ARM testing on Ubuntu is required, you would typically need to use self-hosted runners or alternative solutions. Consider using 'ubuntu-latest' with emulation (via setup-julia's arch parameter), or set up self-hosted ARM runners. If this is intended to be a self-hosted runner, ensure it's properly configured in your repository settings.

Suggested change
- os: ubuntu-24.04-arm
julia-version: 'lts'
julia-arch: aarch64
- os: ubuntu-24.04-arm
- os: ubuntu-latest
julia-version: 'lts'
julia-arch: aarch64
- os: ubuntu-latest

Copilot uses AI. Check for mistakes.
matrix:
julia-version: ['1.6', '1']
os: [ubuntu-latest, windows-latest, macos-13]
julia-version: ['lts', '1']
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The julia-version has been changed from '1.6' to 'lts'. While 'lts' is a valid specifier that should resolve to the current LTS version, note that this is a semantic change. The 'lts' specifier will automatically update to newer LTS versions when they are released, whereas '1.6' was pinned. This could introduce unexpected behavior changes in CI if a new LTS version is released. Consider whether this automatic updating behavior is desired.

Copilot uses AI. Check for mistakes.
@inkydragon inkydragon changed the title ci: Update CI config ci: update ci build matrix Dec 12, 2025
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.

broken Arm CI

2 participants