Skip to content

CI multi-platform builds#31

Merged
gregnazario merged 1 commit intomainfrom
cursor/ci-multi-platform-builds-e70e
Feb 10, 2026
Merged

CI multi-platform builds#31
gregnazario merged 1 commit intomainfrom
cursor/ci-multi-platform-builds-e70e

Conversation

@gregnazario
Copy link
Contributor

Add CI jobs for Linux ARM, macOS x86, and Linux with SIMD disabled to expand platform test coverage.

The 'Linux No SIMD' job (test-no-simd) specifically targets a scenario where an Ubuntu Docker container runs on a macOS ARM machine using QEMU x86 emulation. In this setup, advanced SIMD instructions are unavailable. By setting BLST_PORTABLE=1 and RUSTFLAGS="-C target-cpu=x86-64", this job ensures compatibility for users in such environments by testing the codebase without relying on SIMD optimizations.


Open in Cursor Open in Web

@cursor
Copy link

cursor bot commented Feb 10, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@gregnazario gregnazario marked this pull request as ready for review February 10, 2026 15:51
Add three new CI jobs to test platform compatibility:

- test-linux-arm: Tests on ubuntu-24.04-arm (ARM64 Linux)
- test-macos-intel: Tests on macos-15-intel (x86 macOS)
- test-no-simd: Tests on ubuntu-latest with SIMD disabled via
  BLST_PORTABLE=1 and RUSTFLAGS target-cpu=x86-64, simulating
  an Ubuntu Docker container running on macOS ARM via QEMU emulation

Each job builds and runs tests with both default and all features.

Co-authored-by: Greg Nazario <greg@gnazar.io>
Copy link
Contributor

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

Expands CI platform coverage by adding additional test jobs targeting ARM Linux, Intel macOS, and a “no SIMD” configuration to better validate aptos-sdk behavior across diverse execution environments.

Changes:

  • Add a Linux ARM64 CI job to build and test aptos-sdk.
  • Add an Intel macOS CI job to build and test aptos-sdk.
  • Add a “Linux No SIMD” job using BLST_PORTABLE=1 and baseline RUSTFLAGS to test a portability-oriented configuration.

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

Comment on lines +127 to +136
test-no-simd:
name: Test (Linux No SIMD - Docker Compatible)
runs-on: ubuntu-latest
env:
# Disable BLST assembly optimizations for portability
BLST_PORTABLE: "1"
# Target baseline x86-64 without AVX/AVX2 SIMD extensions.
# This simulates running in a Docker container on macOS ARM via
# QEMU x86 emulation, where advanced SIMD instructions are unavailable.
RUSTFLAGS: "-C target-cpu=x86-64"
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

The test-no-simd job description/comments (and the PR description) describe testing an Ubuntu Docker container running on macOS ARM under QEMU x86 emulation, but the workflow runs directly on ubuntu-latest (no Docker/QEMU involved). If the intention is only to simulate “no advanced SIMD” via BLST_PORTABLE/RUSTFLAGS, please adjust the job name/comments/PR description to reflect that; otherwise, update the job to actually exercise the Docker+QEMU path on an ARM runner.

Copilot uses AI. Check for mistakes.
Comment on lines +81 to +86
test-linux-arm:
name: Test (Linux ARM64)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6

Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

test-linux-arm duplicates the same checkout/toolchain/cache/build/test steps already defined in the existing test job. This increases maintenance overhead (every future change to the test steps must be replicated across multiple jobs). Consider extending the existing test matrix (e.g., with include) to cover the ARM runner instead of defining a separate job, unless there’s a runner-specific deviation you need here.

Copilot uses AI. Check for mistakes.
Comment on lines +104 to +109
test-macos-intel:
name: Test (macOS x86)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v6

Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

test-macos-intel repeats the same steps as the main test job. To reduce duplication and keep CI maintenance simpler, consider adding this runner to the existing test matrix (with an include entry for macos-15-intel) rather than maintaining a separate job with near-identical steps.

Copilot uses AI. Check for mistakes.
@gregnazario gregnazario merged commit d9ffcc3 into main Feb 10, 2026
22 of 23 checks passed
@gregnazario gregnazario deleted the cursor/ci-multi-platform-builds-e70e branch February 10, 2026 16:13
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.

3 participants