Skip to content

Commit f4f43dc

Browse files
committed
Add CI test runs on Windows on ARM64
1 parent 04ec551 commit f4f43dc

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,9 +549,17 @@ jobs:
549549
matrix:
550550
sys: ["enable", "disable"]
551551
ruby: ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby_win) }}
552+
os: [ windows-2022 ]
552553
exclude:
553554
- ruby: "3.1" # because Ruby 3.1 devkit is built with a version of GCC too old for modern msys2 2025-08
554-
runs-on: windows-2022
555+
include:
556+
- os: windows-11-arm
557+
sys: "enable"
558+
ruby: "3.4"
559+
- os: windows-11-arm
560+
sys: "disable"
561+
ruby: "3.4"
562+
runs-on: ${{ matrix.os }}
555563
steps:
556564
- uses: actions/checkout@v5
557565
with:
@@ -713,6 +721,27 @@ jobs:
713721
- run: ./scripts/test-gem-install gems
714722
shell: bash
715723

724+
cruby-aarch64-mingw-ucrt-install:
725+
needs: ["cruby-package", "ruby_versions"]
726+
strategy:
727+
fail-fast: false
728+
matrix:
729+
ruby: ["3.4"]
730+
runs-on: windows-11-arm
731+
steps:
732+
- uses: actions/checkout@v5
733+
with:
734+
submodules: true
735+
- uses: ruby/setup-ruby@v1
736+
with:
737+
ruby-version: "${{matrix.ruby}}"
738+
- uses: actions/download-artifact@v5
739+
with:
740+
name: cruby-aarch64-mingw-ucrt-gem
741+
path: gems
742+
- run: ./scripts/test-gem-install gems
743+
shell: bash
744+
716745
jruby-package:
717746
needs: ["rcd_image_version"]
718747
runs-on: ubuntu-latest

misc/native.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,10 @@ rubies:
1515
- "3.3"
1616
- "3.2"
1717
- "3.1"
18+
exclude:
19+
- platform: aarch64-mingw-ucrt
20+
ruby: "3.1"
21+
- platform: aarch64-mingw-ucrt
22+
ruby: "3.2"
23+
- platform: aarch64-mingw-ucrt
24+
ruby: "3.3"

scripts/test-gem-file-contents

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ describe File.basename(gemfile) do
7373
let(:native_config) { YAML.load_file(File.join(__dir__, "..", "misc", "native.yml")) }
7474

7575
let(:supported_ruby_versions) do
76-
native_config["rubies"]
76+
versions = native_config["rubies"]
77+
native_config["exclude"].each do |h|
78+
versions -= [h["ruby"]] if h["platform"] == gemspec.platform.to_s
79+
end
80+
versions
7781
end
7882

7983
describe "setup" do

0 commit comments

Comments
 (0)