Skip to content

Commit

Permalink
wip: more ci matrix cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
flavorjones committed Jan 18, 2024
1 parent 1cd8ce5 commit c037bf6
Showing 1 changed file with 25 additions and 112 deletions.
137 changes: 25 additions & 112 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,44 +162,16 @@ jobs:
bundle install
ruby -rrcd_test -S rake test
test-x86_64-linux-setup-ruby:
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
needs: build_native_gem
strategy:
fail-fast: false
matrix:
platform: [x86_64-linux, x86_64-linux-gnu]
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
include:
- { ruby: "2.7", rubygems: "3.4.22" }
- { ruby: "2.6", rubygems: "3.4.22" }
- { ruby: "2.5", rubygems: "3.3.26" }
- { ruby: "2.4", rubygems: "3.3.26" }
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Download gem-${{ matrix.platform }}
uses: actions/download-artifact@v3
with:
name: gem-${{ matrix.platform }}
- name: Test gem-${{ matrix.platform }}
run: |
gem update --system ${{ matrix.rubygems }}
gem install --local *.gem --verbose
cd test/rcd_test/
bundle install
ruby -rrcd_test -S rake test
test_architecture_matrix:
name: "${{ matrix.platform }} ${{ matrix.ruby }}"
needs: build_native_gem
strategy:
fail-fast: false
matrix:
platform:
- aarch64-linux
- aarch64-linux-gnu
- aarch64-linux-musl
- arm-linux
- arm-linux-gnu
- arm-linux-musl
Expand All @@ -217,10 +189,14 @@ jobs:
- { ruby: "2.5", rubygems: "3.3.26" }
- { ruby: "2.4", rubygems: "3.3.26" }
# declare docker image for each platform
- { platform: aarch64-linux-musl, docker_tag: "-alpine" }
- { platform: arm-linux-musl, docker_tag: "-alpine" }
- { platform: x86-linux-musl, docker_tag: "-alpine" }
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
# declare docker platform for each platform
- { platform: aarch64-linux, docker_platform: "--platform=linux/arm64" }
- { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64" }
- { platform: aarch64-linux-musl, docker_platform: "--platform=linux/arm64" }
- { platform: arm-linux, docker_platform: "--platform=linux/arm/v7" }
- { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
- { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
Expand All @@ -247,88 +223,20 @@ jobs:
ruby -rrcd_test -S rake test
"
test_aarch64-linux-gnu:
name: aarch64-linux-gnu
needs: build_native_gem
strategy:
fail-fast: false
matrix:
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
platform: [aarch64-linux]
include:
# ruby 3.0 and earlier ship rubygems < 3.2.33, so can't recognize the -gnu suffix
- ruby: "3.3"
platform: aarch64-linux-gnu
- ruby: "3.2"
platform: aarch64-linux-gnu
- ruby: "3.1"
platform: aarch64-linux-gnu
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Download gem-${{ matrix.platform }}
uses: actions/download-artifact@v3
with:
name: gem-${{ matrix.platform }}
- name: Run tests
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker run --rm -v $PWD:/work -w /work \
--platform=linux/arm64 ruby:${{ matrix.ruby }} \
sh -c "
gem install --local *.gem --verbose &&
cd test/rcd_test/ &&
bundle install &&
ruby -rrcd_test -S rake test
"
test_aarch64-linux-musl:
name: aarch64-linux-musl
needs: build_native_gem
strategy:
fail-fast: false
matrix:
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7"] # ruby:2.6-alpine and earlier ship with rubygems that doesn't recognize the -musl suffix
platform: [aarch64-linux-musl]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Download gem-${{ matrix.platform }}
uses: actions/download-artifact@v3
with:
name: gem-${{ matrix.platform }}
- name: Run tests
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker run --rm -v $PWD:/work -w /work \
--platform=linux/arm64 ruby:${{ matrix.ruby }}-alpine \
sh -c "
gem install --local *.gem --verbose &&
cd test/rcd_test/ &&
bundle install &&
ruby -rrcd_test -S rake test
"
test_native_gem:
name: test native
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
needs: build_native_gem
strategy:
fail-fast: false
matrix:
os:
- macos
ruby:
- "3.3"
- "3.2"
- "3.1"
- "3.0"
- "2.7"
- "2.6"
- "2.5"
- "2.4"
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
include:
- os: macos
platform: x86_64-darwin
- os: ubuntu
platform: x86_64-linux
- os: ubuntu
platform: x86_64-linux-gnu
- os: ubuntu
ruby: jruby
platform: jruby
Expand Down Expand Up @@ -356,6 +264,11 @@ jobs:
- os: windows
ruby: "3.3"
platform: x64-mingw-ucrt
# declare rubygems for each ruby version
- { ruby: "2.7", rubygems: "3.4.22" }
- { ruby: "2.6", rubygems: "3.4.22" }
- { ruby: "2.5", rubygems: "3.3.26" }
- { ruby: "2.4", rubygems: "3.3.26" }
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -370,16 +283,16 @@ jobs:
uses: actions/download-artifact@v3
with:
name: gem-${{ matrix.platform }}
- name: Install gem-${{ matrix.platform }}
run: gem install --local *.gem --verbose
- name: Run tests
- name: Test gem-${{ matrix.platform }}
run: |
gem update --system ${{ matrix.rubygems }}
gem install --local *.gem --verbose
cd test/rcd_test/
bundle install
ruby -rrcd_test -S rake test
test_static_native_gem:
name: test static
test_windows_static:
name: "static ${{ matrix.platform }} ${{ matrix.ruby }}"
needs: build_native_gem
strategy:
fail-fast: false
Expand Down Expand Up @@ -431,8 +344,8 @@ jobs:
bundle install
ruby -rrcd_test -S rake test
test_native_gem_multiarch:
name: ${{ matrix.platform }} on ${{ matrix.from_image }}
test_ad_hoc:
name: "${{ matrix.platform }} on ${{ matrix.from_image }}"
needs: build_native_gem
strategy:
fail-fast: false
Expand Down

0 comments on commit c037bf6

Please sign in to comment.