Skip to content

Commit c037bf6

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

File tree

1 file changed

+25
-112
lines changed

1 file changed

+25
-112
lines changed

.github/workflows/ci.yml

Lines changed: 25 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -162,44 +162,16 @@ jobs:
162162
bundle install
163163
ruby -rrcd_test -S rake test
164164
165-
test-x86_64-linux-setup-ruby:
166-
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
167-
needs: build_native_gem
168-
strategy:
169-
fail-fast: false
170-
matrix:
171-
platform: [x86_64-linux, x86_64-linux-gnu]
172-
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
173-
include:
174-
- { ruby: "2.7", rubygems: "3.4.22" }
175-
- { ruby: "2.6", rubygems: "3.4.22" }
176-
- { ruby: "2.5", rubygems: "3.3.26" }
177-
- { ruby: "2.4", rubygems: "3.3.26" }
178-
runs-on: ubuntu-latest
179-
steps:
180-
- uses: actions/checkout@v3
181-
- uses: ruby/setup-ruby@v1
182-
with:
183-
ruby-version: ${{ matrix.ruby }}
184-
- name: Download gem-${{ matrix.platform }}
185-
uses: actions/download-artifact@v3
186-
with:
187-
name: gem-${{ matrix.platform }}
188-
- name: Test gem-${{ matrix.platform }}
189-
run: |
190-
gem update --system ${{ matrix.rubygems }}
191-
gem install --local *.gem --verbose
192-
cd test/rcd_test/
193-
bundle install
194-
ruby -rrcd_test -S rake test
195-
196165
test_architecture_matrix:
197166
name: "${{ matrix.platform }} ${{ matrix.ruby }}"
198167
needs: build_native_gem
199168
strategy:
200169
fail-fast: false
201170
matrix:
202171
platform:
172+
- aarch64-linux
173+
- aarch64-linux-gnu
174+
- aarch64-linux-musl
203175
- arm-linux
204176
- arm-linux-gnu
205177
- arm-linux-musl
@@ -217,10 +189,14 @@ jobs:
217189
- { ruby: "2.5", rubygems: "3.3.26" }
218190
- { ruby: "2.4", rubygems: "3.3.26" }
219191
# declare docker image for each platform
192+
- { platform: aarch64-linux-musl, docker_tag: "-alpine" }
220193
- { platform: arm-linux-musl, docker_tag: "-alpine" }
221194
- { platform: x86-linux-musl, docker_tag: "-alpine" }
222195
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
223196
# declare docker platform for each platform
197+
- { platform: aarch64-linux, docker_platform: "--platform=linux/arm64" }
198+
- { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64" }
199+
- { platform: aarch64-linux-musl, docker_platform: "--platform=linux/arm64" }
224200
- { platform: arm-linux, docker_platform: "--platform=linux/arm/v7" }
225201
- { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
226202
- { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
@@ -247,88 +223,20 @@ jobs:
247223
ruby -rrcd_test -S rake test
248224
"
249225
250-
test_aarch64-linux-gnu:
251-
name: aarch64-linux-gnu
252-
needs: build_native_gem
253-
strategy:
254-
fail-fast: false
255-
matrix:
256-
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-
312226
test_native_gem:
313-
name: test native
227+
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
314228
needs: build_native_gem
315229
strategy:
316230
fail-fast: false
317231
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"
232+
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
329233
include:
330234
- os: macos
331235
platform: x86_64-darwin
236+
- os: ubuntu
237+
platform: x86_64-linux
238+
- os: ubuntu
239+
platform: x86_64-linux-gnu
332240
- os: ubuntu
333241
ruby: jruby
334242
platform: jruby
@@ -356,6 +264,11 @@ jobs:
356264
- os: windows
357265
ruby: "3.3"
358266
platform: x64-mingw-ucrt
267+
# declare rubygems for each ruby version
268+
- { ruby: "2.7", rubygems: "3.4.22" }
269+
- { ruby: "2.6", rubygems: "3.4.22" }
270+
- { ruby: "2.5", rubygems: "3.3.26" }
271+
- { ruby: "2.4", rubygems: "3.3.26" }
359272
runs-on: ${{ matrix.os }}-latest
360273
steps:
361274
- uses: actions/checkout@v3
@@ -370,16 +283,16 @@ jobs:
370283
uses: actions/download-artifact@v3
371284
with:
372285
name: gem-${{ matrix.platform }}
373-
- name: Install gem-${{ matrix.platform }}
374-
run: gem install --local *.gem --verbose
375-
- name: Run tests
286+
- name: Test gem-${{ matrix.platform }}
376287
run: |
288+
gem update --system ${{ matrix.rubygems }}
289+
gem install --local *.gem --verbose
377290
cd test/rcd_test/
378291
bundle install
379292
ruby -rrcd_test -S rake test
380293
381-
test_static_native_gem:
382-
name: test static
294+
test_windows_static:
295+
name: "static ${{ matrix.platform }} ${{ matrix.ruby }}"
383296
needs: build_native_gem
384297
strategy:
385298
fail-fast: false
@@ -431,8 +344,8 @@ jobs:
431344
bundle install
432345
ruby -rrcd_test -S rake test
433346
434-
test_native_gem_multiarch:
435-
name: ${{ matrix.platform }} on ${{ matrix.from_image }}
347+
test_ad_hoc:
348+
name: "${{ matrix.platform }} on ${{ matrix.from_image }}"
436349
needs: build_native_gem
437350
strategy:
438351
fail-fast: false

0 commit comments

Comments
 (0)