Skip to content

Commit 5f094b8

Browse files
committed
ci: unify installation testing into a single matrix
which is a prefactor to re-using that flow in an automated release pipeline
1 parent c7c74ac commit 5f094b8

File tree

1 file changed

+42
-118
lines changed

1 file changed

+42
-118
lines changed

.github/workflows/gem-install.yml

Lines changed: 42 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ jobs:
2222
matrix:
2323
platform:
2424
- "ruby"
25-
- "x64-mingw32"
25+
- "aarch64-linux-gnu"
26+
- "aarch64-linux-musl"
27+
- "arm64-darwin"
2628
- "x64-mingw-ucrt"
29+
- "x64-mingw32"
2730
- "x86_64-darwin"
28-
- "arm64-darwin"
2931
- "x86_64-linux-gnu"
3032
- "x86_64-linux-musl"
31-
- "aarch64-linux-gnu"
32-
- "aarch64-linux-musl"
3333
runs-on: ubuntu-latest
3434
steps:
3535
- uses: actions/checkout@v4
@@ -60,127 +60,51 @@ jobs:
6060
- run: "gem install pkg/tailwindcss-ruby-*.gem"
6161
- run: "tailwindcss 2>&1 | fgrep 'ERROR: Cannot find the tailwindcss executable'"
6262

63-
linux-x86_64-gnu-install:
63+
install-matrix:
64+
name: install-${{ platform }}
6465
needs: ["package"]
65-
runs-on: ubuntu-latest
66-
steps:
67-
- uses: ruby/setup-ruby@v1
68-
with:
69-
ruby-version: "3.2"
70-
- uses: actions/download-artifact@v4
71-
with:
72-
name: gem-x86_64-linux-gnu
73-
path: pkg
74-
- run: "gem install pkg/tailwindcss-ruby-*.gem"
75-
- run: "tailwindcss --help"
76-
77-
linux-x86_64-musl-install:
78-
needs: ["package"]
79-
runs-on: ubuntu-latest
80-
steps:
81-
- uses: actions/download-artifact@v4
82-
with:
83-
name: gem-x86_64-linux-musl
84-
path: pkg
85-
- run: |
86-
docker run --rm -v $PWD:/tailwindcss-ruby -w /tailwindcss-ruby \
87-
ruby:3.2-alpine \
88-
sh -c "
89-
apk add build-base
90-
gem install pkg/tailwindcss-ruby-*.gem
91-
tailwindcss --help
92-
"
93-
94-
linux-aarch64-gnu-install:
95-
needs: ["package"]
96-
runs-on: ubuntu-latest
97-
steps:
98-
- uses: ruby/setup-ruby@v1
99-
with:
100-
ruby-version: "3.2"
101-
- uses: actions/download-artifact@v4
102-
with:
103-
name: gem-aarch64-linux-gnu
104-
path: pkg
105-
- run: |
106-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
107-
docker run --rm -v $PWD:/tailwindcss-ruby -w /tailwindcss-ruby \
108-
--platform=linux/arm64/v8 ruby:3.2 \
109-
sh -c "
110-
gem install pkg/tailwindcss-ruby-*.gem
111-
tailwindcss --help
112-
"
113-
114-
linux-aarch64-musl-install:
115-
needs: ["package"]
116-
runs-on: ubuntu-latest
66+
strategy:
67+
fail-fast: false
68+
matrix:
69+
ruby: [ "3.4" ]
70+
platform:
71+
- "aarch64-linux-gnu"
72+
- "aarch64-linux-musl"
73+
- "arm64-darwin"
74+
- "x64-mingw-ucrt"
75+
- "x64-mingw32"
76+
- "x86_64-darwin"
77+
- "x86_64-linux-gnu"
78+
- "x86_64-linux-musl"
79+
include:
80+
- { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64/v8" }
81+
- { platform: aarch64-linux-musl, docker_tag: "-alpine", docker_platform: "--platform=linux/arm64/v8" }
82+
- { platform: arm64-darwin, runs-on: macos-14 }
83+
- { platform: x64-mingw-ucrt, runs-on: windows-latest }
84+
- { platform: x64-mingw32, runs-on: windows-latest, ruby: "3.0" }
85+
- { platform: x86_64-darwin, runs-on: macos-13 }
86+
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
87+
runs-on: ${{ matrix.runs_on || 'ubuntu-latest' }}
11788
steps:
11889
- uses: actions/download-artifact@v4
11990
with:
120-
name: gem-aarch64-linux-musl
91+
name: gem-${{ matrix.platform }}
12192
path: pkg
122-
- run: |
123-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
93+
- if: ${{ matrix.runs_on }}
94+
uses: ruby/setup-ruby@v1
95+
with:
96+
ruby-version: ${{ matrix.ruby }}
97+
- if: ${{ matrix.runs_on }}
98+
run: "gem install pkg/tailwindcss-ruby-*.gem"
99+
- if: ${{ matrix.runs_on }}
100+
run: "tailwindcss --help"
101+
- if: ${{ (! matrix.runs_on) && matrix.docker_platform }}
102+
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
103+
- if: ${{ ! matrix.runs_on }}
104+
run:
124105
docker run --rm -v $PWD:/tailwindcss-ruby -w /tailwindcss-ruby \
125-
--platform=linux/arm64/v8 ruby:3.2-alpine \
106+
${{ matrix.docker_platform }} ruby:${{ matrix.ruby }}${{ matrix.docker_tag}} \
126107
sh -c "
127-
apk add build-base
128108
gem install pkg/tailwindcss-ruby-*.gem
129109
tailwindcss --help
130110
"
131-
132-
darwin-x86_64-install:
133-
needs: ["package"]
134-
runs-on: macos-13
135-
steps:
136-
- uses: ruby/setup-ruby@v1
137-
with:
138-
ruby-version: "3.2"
139-
- uses: actions/download-artifact@v4
140-
with:
141-
name: gem-x86_64-darwin
142-
path: pkg
143-
- run: "gem install pkg/tailwindcss-ruby-*.gem"
144-
- run: "tailwindcss --help"
145-
146-
darwin-arm64-install:
147-
needs: ["package"]
148-
runs-on: macos-14
149-
steps:
150-
- uses: ruby/setup-ruby@v1
151-
with:
152-
ruby-version: "3.2"
153-
- uses: actions/download-artifact@v4
154-
with:
155-
name: gem-arm64-darwin
156-
path: pkg
157-
- run: "gem install pkg/tailwindcss-ruby-*.gem"
158-
- run: "tailwindcss --help"
159-
160-
windows-install:
161-
needs: ["package"]
162-
runs-on: windows-latest
163-
steps:
164-
- uses: ruby/setup-ruby@v1
165-
with:
166-
ruby-version: "3.0"
167-
- uses: actions/download-artifact@v4
168-
with:
169-
name: gem-x64-mingw32
170-
path: pkg
171-
- run: "gem install pkg/tailwindcss-ruby-*.gem"
172-
- run: "tailwindcss --help"
173-
174-
windows-ucrt-install:
175-
needs: ["package"]
176-
runs-on: windows-2022
177-
steps:
178-
- uses: ruby/setup-ruby@v1
179-
with:
180-
ruby-version: "3.2"
181-
- uses: actions/download-artifact@v4
182-
with:
183-
name: gem-x64-mingw-ucrt
184-
path: pkg
185-
- run: "gem install pkg/tailwindcss-ruby-*.gem"
186-
- run: "tailwindcss --help"

0 commit comments

Comments
 (0)