Skip to content

Commit 9d2a96d

Browse files
authored
Merge pull request #71 from flavorjones/flavorjones-automate-bumps
ci: unify installation testing into a single matrix
2 parents c7c74ac + eb982c2 commit 9d2a96d

File tree

1 file changed

+46
-119
lines changed

1 file changed

+46
-119
lines changed

.github/workflows/gem-install.yml

Lines changed: 46 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,20 @@ on:
1717

1818
jobs:
1919
package:
20+
name: "package (${{ matrix.platform }})"
2021
strategy:
2122
fail-fast: false
2223
matrix:
2324
platform:
2425
- "ruby"
25-
- "x64-mingw32"
26+
- "aarch64-linux-gnu"
27+
- "aarch64-linux-musl"
28+
- "arm64-darwin"
2629
- "x64-mingw-ucrt"
30+
- "x64-mingw32"
2731
- "x86_64-darwin"
28-
- "arm64-darwin"
2932
- "x86_64-linux-gnu"
3033
- "x86_64-linux-musl"
31-
- "aarch64-linux-gnu"
32-
- "aarch64-linux-musl"
3334
runs-on: ubuntu-latest
3435
steps:
3536
- uses: actions/checkout@v4
@@ -47,6 +48,7 @@ jobs:
4748
retention-days: 1
4849

4950
vanilla-install:
51+
name: "install (ruby)"
5052
needs: ["package"]
5153
runs-on: ubuntu-latest
5254
steps:
@@ -60,127 +62,52 @@ jobs:
6062
- run: "gem install pkg/tailwindcss-ruby-*.gem"
6163
- run: "tailwindcss 2>&1 | fgrep 'ERROR: Cannot find the tailwindcss executable'"
6264

63-
linux-x86_64-gnu-install:
64-
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
65+
install-matrix:
66+
name: "install (${{ matrix.platform }})"
67+
needs: [ "package" ]
68+
strategy:
69+
fail-fast: false
70+
matrix:
71+
ruby: [ "3.4" ]
72+
platform:
73+
- "aarch64-linux-gnu"
74+
- "aarch64-linux-musl"
75+
- "arm64-darwin"
76+
- "x64-mingw-ucrt"
77+
# - "x64-mingw32" # because it's on a different version of ruby, we just add it in an "include" below
78+
- "x86_64-darwin"
79+
- "x86_64-linux-gnu"
80+
- "x86_64-linux-musl"
81+
include:
82+
- { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64/v8" }
83+
- { platform: aarch64-linux-musl, docker_tag: "-alpine", docker_platform: "--platform=linux/arm64/v8", bootstrap: "apk add build-base &&" }
84+
- { platform: arm64-darwin, runs_on: macos-14 }
85+
- { platform: x64-mingw-ucrt, runs_on: windows-latest }
86+
- { platform: x64-mingw32, runs_on: windows-latest, ruby: "3.0" }
87+
- { platform: x86_64-darwin, runs_on: macos-13 }
88+
- { platform: x86_64-linux-musl, docker_tag: "-alpine", bootstrap: "apk add build-base &&" }
89+
runs-on: ${{ matrix.runs_on || 'ubuntu-latest' }}
11790
steps:
11891
- uses: actions/download-artifact@v4
11992
with:
120-
name: gem-aarch64-linux-musl
93+
name: gem-${{ matrix.platform }}
12194
path: pkg
122-
- run: |
123-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
95+
- if: ${{ matrix.runs_on }}
96+
uses: ruby/setup-ruby@v1
97+
with:
98+
ruby-version: ${{ matrix.ruby }}
99+
- if: ${{ matrix.runs_on }}
100+
run: "gem install pkg/tailwindcss-ruby-*.gem"
101+
- if: ${{ matrix.runs_on }}
102+
run: "tailwindcss --help"
103+
- if: ${{ (! matrix.runs_on) && matrix.docker_platform }}
104+
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
105+
- if: ${{ ! matrix.runs_on }}
106+
run: |
124107
docker run --rm -v $PWD:/tailwindcss-ruby -w /tailwindcss-ruby \
125-
--platform=linux/arm64/v8 ruby:3.2-alpine \
108+
${{ matrix.docker_platform }} ruby:${{ matrix.ruby }}${{ matrix.docker_tag }} \
126109
sh -c "
127-
apk add build-base
110+
${{ matrix.bootstrap }}
128111
gem install pkg/tailwindcss-ruby-*.gem
129112
tailwindcss --help
130113
"
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)