Skip to content

Commit 0e19cc4

Browse files
committed
wip: more ci matrix cleanup
1 parent 1cd8ce5 commit 0e19cc4

File tree

1 file changed

+19
-84
lines changed

1 file changed

+19
-84
lines changed

.github/workflows/ci.yml

+19-84
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ jobs:
171171
platform: [x86_64-linux, x86_64-linux-gnu]
172172
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
173173
include:
174+
# declare rubygems for each ruby version
174175
- { ruby: "2.7", rubygems: "3.4.22" }
175176
- { ruby: "2.6", rubygems: "3.4.22" }
176177
- { ruby: "2.5", rubygems: "3.3.26" }
@@ -200,6 +201,9 @@ jobs:
200201
fail-fast: false
201202
matrix:
202203
platform:
204+
- aarch64-linux
205+
- aarch64-linux-gnu
206+
- aarch64-linux-musl
203207
- arm-linux
204208
- arm-linux-gnu
205209
- arm-linux-musl
@@ -217,10 +221,14 @@ jobs:
217221
- { ruby: "2.5", rubygems: "3.3.26" }
218222
- { ruby: "2.4", rubygems: "3.3.26" }
219223
# declare docker image for each platform
224+
- { platform: aarch64-linux-musl, docker_tag: "-alpine" }
220225
- { platform: arm-linux-musl, docker_tag: "-alpine" }
221226
- { platform: x86-linux-musl, docker_tag: "-alpine" }
222227
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
223228
# declare docker platform for each platform
229+
- { platform: aarch64-linux, docker_platform: "--platform=linux/arm64" }
230+
- { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64" }
231+
- { platform: aarch64-linux-musl, docker_platform: "--platform=linux/arm64" }
224232
- { platform: arm-linux, docker_platform: "--platform=linux/arm/v7" }
225233
- { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
226234
- { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
@@ -247,85 +255,14 @@ jobs:
247255
ruby -rrcd_test -S rake test
248256
"
249257
250-
test_aarch64-linux-gnu:
251-
name: aarch64-linux-gnu
258+
test_the_rest:
259+
name: "${{ matrix.platform }} ${{ matrix.ruby }}"
252260
needs: build_native_gem
253261
strategy:
254262
fail-fast: false
255263
matrix:
264+
os: [macos]
256265
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
257-
platform: [aarch64-linux]
258-
include:
259-
# ruby 3.0 and earlier ship rubygems < 3.2.33, so can't recognize the -gnu suffix
260-
- ruby: "3.3"
261-
platform: aarch64-linux-gnu
262-
- ruby: "3.2"
263-
platform: aarch64-linux-gnu
264-
- ruby: "3.1"
265-
platform: aarch64-linux-gnu
266-
runs-on: ubuntu-latest
267-
steps:
268-
- uses: actions/checkout@v3
269-
- name: Download gem-${{ matrix.platform }}
270-
uses: actions/download-artifact@v3
271-
with:
272-
name: gem-${{ matrix.platform }}
273-
- name: Run tests
274-
run: |
275-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
276-
docker run --rm -v $PWD:/work -w /work \
277-
--platform=linux/arm64 ruby:${{ matrix.ruby }} \
278-
sh -c "
279-
gem install --local *.gem --verbose &&
280-
cd test/rcd_test/ &&
281-
bundle install &&
282-
ruby -rrcd_test -S rake test
283-
"
284-
285-
test_aarch64-linux-musl:
286-
name: aarch64-linux-musl
287-
needs: build_native_gem
288-
strategy:
289-
fail-fast: false
290-
matrix:
291-
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
292-
platform: [aarch64-linux-musl]
293-
runs-on: ubuntu-latest
294-
steps:
295-
- uses: actions/checkout@v3
296-
- name: Download gem-${{ matrix.platform }}
297-
uses: actions/download-artifact@v3
298-
with:
299-
name: gem-${{ matrix.platform }}
300-
- name: Run tests
301-
run: |
302-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
303-
docker run --rm -v $PWD:/work -w /work \
304-
--platform=linux/arm64 ruby:${{ matrix.ruby }}-alpine \
305-
sh -c "
306-
gem install --local *.gem --verbose &&
307-
cd test/rcd_test/ &&
308-
bundle install &&
309-
ruby -rrcd_test -S rake test
310-
"
311-
312-
test_native_gem:
313-
name: test native
314-
needs: build_native_gem
315-
strategy:
316-
fail-fast: false
317-
matrix:
318-
os:
319-
- macos
320-
ruby:
321-
- "3.3"
322-
- "3.2"
323-
- "3.1"
324-
- "3.0"
325-
- "2.7"
326-
- "2.6"
327-
- "2.5"
328-
- "2.4"
329266
include:
330267
- os: macos
331268
platform: x86_64-darwin
@@ -370,16 +307,15 @@ jobs:
370307
uses: actions/download-artifact@v3
371308
with:
372309
name: gem-${{ matrix.platform }}
373-
- name: Install gem-${{ matrix.platform }}
374-
run: gem install --local *.gem --verbose
375-
- name: Run tests
310+
- name: Test gem-${{ matrix.platform }}
376311
run: |
312+
gem install --local *.gem --verbose
377313
cd test/rcd_test/
378314
bundle install
379315
ruby -rrcd_test -S rake test
380316
381-
test_static_native_gem:
382-
name: test static
317+
test_windows_static:
318+
name: "static ${{ matrix.platform }} ${{ matrix.ruby }}"
383319
needs: build_native_gem
384320
strategy:
385321
fail-fast: false
@@ -423,16 +359,15 @@ jobs:
423359
uses: actions/download-artifact@v3
424360
with:
425361
name: gem-${{ matrix.platform }}-static
426-
- name: Install gem-${{ matrix.platform }}-static
427-
run: gem install --local *.gem --verbose
428-
- name: Run tests
362+
- name: Test gem-${{ matrix.platform }}-static
429363
run: |
364+
gem install --local *.gem --verbose
430365
cd test/rcd_test/
431366
bundle install
432367
ruby -rrcd_test -S rake test
433368
434-
test_native_gem_multiarch:
435-
name: ${{ matrix.platform }} on ${{ matrix.from_image }}
369+
test_ad_hoc:
370+
name: "${{ matrix.platform }} on ${{ matrix.from_image }}"
436371
needs: build_native_gem
437372
strategy:
438373
fail-fast: false

0 commit comments

Comments
 (0)