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 0e19cc4
Showing 1 changed file with 19 additions and 84 deletions.
103 changes: 19 additions & 84 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ jobs:
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:
# 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" }
Expand Down Expand Up @@ -200,6 +201,9 @@ jobs:
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 +221,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,85 +255,14 @@ jobs:
ruby -rrcd_test -S rake test
"
test_aarch64-linux-gnu:
name: aarch64-linux-gnu
test_the_rest:
name: "${{ matrix.platform }} ${{ 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"]
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
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"
include:
- os: macos
platform: x86_64-darwin
Expand Down Expand Up @@ -370,16 +307,15 @@ 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 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 @@ -423,16 +359,15 @@ jobs:
uses: actions/download-artifact@v3
with:
name: gem-${{ matrix.platform }}-static
- name: Install gem-${{ matrix.platform }}-static
run: gem install --local *.gem --verbose
- name: Run tests
- name: Test gem-${{ matrix.platform }}-static
run: |
gem install --local *.gem --verbose
cd test/rcd_test/
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 0e19cc4

Please sign in to comment.