rake-compiler-dock 1.4.0.rc2 → 1.5.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +246 -144
- data/.github/workflows/publish-images.yml +11 -7
- data/.gitignore +8 -5
- data/CONTRIBUTING.md +2 -2
- data/Dockerfile.jruby +42 -34
- data/Dockerfile.mri.erb +82 -97
- data/History.md +29 -7
- data/README.md +63 -12
- data/Rakefile +29 -13
- data/build/mk_musl_cross.sh +37 -0
- data/build/patches2/rake-compiler-1.2.5/0004-Enable-build-of-static-libruby.patch +9 -4
- data/build/runas +1 -1
- data/lib/rake_compiler_dock/predefined_user_group.rb +2 -2
- data/lib/rake_compiler_dock/version.rb +2 -2
- data/lib/rake_compiler_dock.rb +2 -1
- data/rake-compiler-dock.gemspec +7 -1
- data/test/rcd_test/Rakefile +19 -1
- data/test/rcd_test/ext/mri/rcd_test_ext.c +14 -0
- data/test/rcd_test/ext/mri/rcd_test_ext.h +5 -0
- data/test/rcd_test/rcd_test.gemspec +9 -8
- data/test/rcd_test/test/test_basic.rb +7 -0
- data/test/test_starter.rb +5 -5
- metadata +3 -4
- data/build/patches/ruby-2.5.9/no_sendfile.patch +0 -24
- data/build/patches/ruby-3.1.3/no_sendfile.patch +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f765f12eb034508f4cbca5f234f0852f1a925a1a89b38c1dcab6b8c9d4fb92a
|
4
|
+
data.tar.gz: 8d1bbd234539397e97f4fb18ccc8389dd40b670af98b32a43e92130126abd90c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5df99283129dd3108cfb19f857172cc82dd8d34babcb0de7db16c756164d733a677a781d28045c5f84fe06583695a9f118fe59c7318394b181df916aad59f2a4
|
7
|
+
data.tar.gz: c26c5208235868f099f8cc56ab859769735ca11cb648f4cb004ad716918f194d3c5bd36fb4b653eed2c0b011ce98b7c83f628e59c22ff58902f81f6b41d5f8dd
|
data/.github/workflows/ci.yml
CHANGED
@@ -17,288 +17,390 @@ on:
|
|
17
17
|
- "*"
|
18
18
|
|
19
19
|
jobs:
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
build_source_gem:
|
21
|
+
name: build source
|
22
|
+
runs-on: ubuntu-latest
|
23
|
+
steps:
|
24
|
+
- uses: actions/checkout@v3
|
25
|
+
- uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: "3.3"
|
28
|
+
working-directory: test/rcd_test
|
29
|
+
bundler-cache: true
|
30
|
+
|
31
|
+
- name: Build source gem
|
32
|
+
run: |
|
33
|
+
cd test/rcd_test/
|
34
|
+
bundle exec rake gem
|
23
35
|
|
36
|
+
- name: Upload source gem
|
37
|
+
uses: actions/upload-artifact@v3
|
38
|
+
with:
|
39
|
+
name: gem-ruby
|
40
|
+
path: test/rcd_test/pkg/rcd_test-?.?.?.gem # e.g. rcd_test-1.0.0.gem
|
41
|
+
|
42
|
+
build_native_gem:
|
43
|
+
name: build native
|
24
44
|
strategy:
|
25
45
|
fail-fast: false
|
26
46
|
matrix:
|
27
|
-
|
28
|
-
-
|
29
|
-
|
30
|
-
-
|
31
|
-
-
|
32
|
-
|
33
|
-
-
|
34
|
-
- arm64-darwin
|
35
|
-
-
|
36
|
-
-
|
37
|
-
|
38
|
-
|
47
|
+
include:
|
48
|
+
- platform: aarch64-linux-gnu
|
49
|
+
alias: aarch64-linux
|
50
|
+
- platform: aarch64-linux-musl
|
51
|
+
- platform: arm-linux-gnu
|
52
|
+
alias: arm-linux
|
53
|
+
- platform: arm-linux-musl
|
54
|
+
- platform: arm64-darwin
|
55
|
+
- platform: jruby
|
56
|
+
- platform: x64-mingw-ucrt
|
57
|
+
static: true
|
58
|
+
- platform: x64-mingw32
|
59
|
+
static: true
|
60
|
+
- platform: x86-linux-gnu
|
61
|
+
alias: x86-linux
|
62
|
+
- platform: x86-linux-musl
|
63
|
+
- platform: x86-mingw32
|
64
|
+
- platform: x86_64-darwin
|
65
|
+
- platform: x86_64-linux-gnu
|
66
|
+
alias: x86_64-linux
|
67
|
+
- platform: x86_64-linux-musl
|
39
68
|
runs-on: ubuntu-latest
|
40
|
-
env:
|
41
|
-
PLATFORM: ${{ matrix.platform }}
|
42
69
|
steps:
|
43
70
|
- uses: actions/checkout@v3
|
71
|
+
- uses: ruby/setup-ruby@v1
|
72
|
+
with:
|
73
|
+
ruby-version: "3.3"
|
74
|
+
bundler-cache: true
|
44
75
|
|
45
|
-
- name:
|
76
|
+
- name: Fetch docker buildx layer cache
|
46
77
|
uses: actions/cache@v3
|
47
78
|
with:
|
48
79
|
path: tmp/build-cache
|
49
80
|
key: ${{ runner.os }}-${{ matrix.platform }}-buildx-${{ github.sha }}
|
50
|
-
restore-keys:
|
51
|
-
${{ runner.os }}-${{ matrix.platform }}-buildx
|
52
|
-
|
53
|
-
- uses: ruby/setup-ruby@v1
|
54
|
-
with:
|
55
|
-
ruby-version: "3.0"
|
56
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
57
|
-
|
81
|
+
restore-keys: ${{ runner.os }}-${{ matrix.platform }}-buildx
|
58
82
|
- name: Build docker image
|
59
83
|
run: |
|
60
84
|
docker buildx create --driver docker-container --use
|
61
|
-
bundle exec rake build:${
|
85
|
+
bundle exec rake build:${{ matrix.platform }} RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,src=tmp/build-cache --cache-to=type=local,dest=tmp/build-cache-new --load"
|
62
86
|
docker images
|
63
|
-
|
64
|
-
- name: Move build cache and remove outdated layers
|
87
|
+
- name: Update and prune docker buildx layer cache
|
65
88
|
run: |
|
66
89
|
rm -rf tmp/build-cache
|
67
90
|
mv tmp/build-cache-new tmp/build-cache
|
68
91
|
|
69
|
-
- name:
|
70
|
-
|
71
|
-
TEST_PLATFORM: ${{ matrix.platform }}
|
72
|
-
run: |
|
73
|
-
bundle exec rake test
|
92
|
+
- name: Test the generated image
|
93
|
+
run: bundle exec rake test TEST_PLATFORM=${{ matrix.platform }}
|
74
94
|
|
75
|
-
- name: Build
|
95
|
+
- name: Build native gem
|
76
96
|
run: |
|
77
97
|
cd test/rcd_test/
|
78
98
|
bundle install
|
79
99
|
bundle exec rake clean clobber
|
80
|
-
bundle exec rake gem:${
|
100
|
+
bundle exec rake gem:${{ matrix.platform }}
|
81
101
|
|
82
|
-
- name: Upload
|
102
|
+
- name: Upload native gem
|
83
103
|
uses: actions/upload-artifact@v3
|
84
104
|
with:
|
85
105
|
name: gem-${{ matrix.platform }}
|
86
106
|
path: test/rcd_test/pkg/*-*-*.gem
|
87
107
|
|
88
|
-
- if: matrix.
|
89
|
-
name:
|
90
|
-
uses: actions/upload-artifact@v3
|
91
|
-
with:
|
92
|
-
name: gem-ruby
|
93
|
-
path: test/rcd_test/pkg/*-?.?.?.gem
|
94
|
-
|
95
|
-
- if: contains(matrix.platform, 'x64-mingw')
|
96
|
-
name: Build static rcd_test.gem for windows
|
108
|
+
- if: matrix.static
|
109
|
+
name: Build static native gem
|
97
110
|
env:
|
98
111
|
RCD_TEST_CONFIG: "--link-static"
|
99
112
|
run: |
|
100
|
-
gem build rake-compiler-dock.gemspec
|
101
|
-
gem install -l rake-compiler-dock-*.gem
|
102
113
|
cd test/rcd_test/
|
103
114
|
bundle install
|
104
115
|
bundle exec rake clean clobber
|
105
|
-
bundle exec rake gem:${
|
116
|
+
bundle exec rake gem:${{ matrix.platform }}
|
106
117
|
|
107
|
-
- if:
|
108
|
-
name: Upload static
|
118
|
+
- if: matrix.static
|
119
|
+
name: Upload static native gem
|
109
120
|
uses: actions/upload-artifact@v3
|
110
121
|
with:
|
111
122
|
name: gem-${{ matrix.platform }}-static
|
112
123
|
path: test/rcd_test/pkg/*-*-*.gem
|
113
124
|
|
114
|
-
|
125
|
+
- if: matrix.alias
|
126
|
+
name: Build native gem ${{ matrix.alias }}
|
127
|
+
run: |
|
128
|
+
cd test/rcd_test/
|
129
|
+
bundle install
|
130
|
+
bundle exec rake clean clobber
|
131
|
+
bundle exec rake gem:${{ matrix.alias }}
|
132
|
+
|
133
|
+
- if: matrix.alias
|
134
|
+
name: Upload native gem ${{ matrix.alias }}
|
135
|
+
uses: actions/upload-artifact@v3
|
136
|
+
with:
|
137
|
+
name: gem-${{ matrix.alias }}
|
138
|
+
path: test/rcd_test/pkg/*-*-*.gem
|
139
|
+
|
140
|
+
test_source_gem:
|
115
141
|
name: source gem
|
116
|
-
needs:
|
142
|
+
needs: build_source_gem
|
117
143
|
strategy:
|
118
144
|
fail-fast: false
|
119
145
|
matrix:
|
120
|
-
os:
|
121
|
-
|
122
|
-
ruby:
|
123
|
-
- "head" # 3.3
|
124
|
-
- "3.2"
|
125
|
-
- "3.1"
|
126
|
-
- "3.0"
|
127
|
-
- "2.7"
|
128
|
-
- "2.6"
|
129
|
-
- "2.5"
|
130
|
-
- "2.4"
|
146
|
+
os: [ubuntu]
|
147
|
+
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
|
131
148
|
runs-on: ${{ matrix.os }}-latest
|
132
149
|
steps:
|
133
150
|
- uses: actions/checkout@v3
|
134
151
|
- uses: ruby/setup-ruby@v1
|
135
152
|
with:
|
136
153
|
ruby-version: ${{ matrix.ruby }}
|
137
|
-
- name: Download gem
|
154
|
+
- name: Download source gem
|
138
155
|
uses: actions/download-artifact@v3
|
139
156
|
with:
|
140
157
|
name: gem-ruby
|
141
|
-
- name:
|
142
|
-
run: gem install --local *.gem --verbose
|
143
|
-
- name: Run tests
|
158
|
+
- name: Test source gem
|
144
159
|
run: |
|
160
|
+
gem install --local *.gem --verbose
|
145
161
|
cd test/rcd_test/
|
146
162
|
bundle install
|
147
163
|
ruby -rrcd_test -S rake test
|
148
164
|
|
149
|
-
|
150
|
-
name:
|
151
|
-
needs:
|
165
|
+
test-x86_64-linux-setup-ruby:
|
166
|
+
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
|
167
|
+
needs: build_native_gem
|
152
168
|
strategy:
|
153
169
|
fail-fast: false
|
154
170
|
matrix:
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
- "
|
161
|
-
- "3.
|
162
|
-
- "3.
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
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
|
+
# declare rubygems for each ruby version
|
175
|
+
- { ruby: "2.7", rubygems: "3.4.22" }
|
176
|
+
- { ruby: "2.6", rubygems: "3.4.22" }
|
177
|
+
- { ruby: "2.5", rubygems: "3.3.26" }
|
178
|
+
- { ruby: "2.4", rubygems: "3.3.26" }
|
179
|
+
runs-on: ubuntu-latest
|
180
|
+
steps:
|
181
|
+
- uses: actions/checkout@v3
|
182
|
+
- uses: ruby/setup-ruby@v1
|
183
|
+
with:
|
184
|
+
ruby-version: ${{ matrix.ruby }}
|
185
|
+
- name: Download gem-${{ matrix.platform }}
|
186
|
+
uses: actions/download-artifact@v3
|
187
|
+
with:
|
188
|
+
name: gem-${{ matrix.platform }}
|
189
|
+
- name: Test gem-${{ matrix.platform }}
|
190
|
+
run: |
|
191
|
+
gem update --system ${{ matrix.rubygems }}
|
192
|
+
gem install --local *.gem --verbose
|
193
|
+
cd test/rcd_test/
|
194
|
+
bundle install
|
195
|
+
ruby -rrcd_test -S rake test
|
196
|
+
|
197
|
+
test_architecture_matrix:
|
198
|
+
name: "${{ matrix.platform }} ${{ matrix.ruby }}"
|
199
|
+
needs: build_native_gem
|
200
|
+
strategy:
|
201
|
+
fail-fast: false
|
202
|
+
matrix:
|
203
|
+
platform:
|
204
|
+
- aarch64-linux
|
205
|
+
- aarch64-linux-gnu
|
206
|
+
- aarch64-linux-musl
|
207
|
+
- arm-linux
|
208
|
+
- arm-linux-gnu
|
209
|
+
- arm-linux-musl
|
210
|
+
- x86-linux
|
211
|
+
- x86-linux-gnu
|
212
|
+
- x86-linux-musl
|
213
|
+
- x86_64-linux
|
214
|
+
- x86_64-linux-gnu
|
215
|
+
- x86_64-linux-musl
|
216
|
+
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
|
217
|
+
include:
|
218
|
+
# declare rubygems for each ruby version
|
219
|
+
- { ruby: "2.7", rubygems: "3.4.22" }
|
220
|
+
- { ruby: "2.6", rubygems: "3.4.22" }
|
221
|
+
- { ruby: "2.5", rubygems: "3.3.26" }
|
222
|
+
- { ruby: "2.4", rubygems: "3.3.26" }
|
223
|
+
# declare docker image for each platform
|
224
|
+
- { platform: aarch64-linux-musl, docker_tag: "-alpine" }
|
225
|
+
- { platform: arm-linux-musl, docker_tag: "-alpine" }
|
226
|
+
- { platform: x86-linux-musl, docker_tag: "-alpine" }
|
227
|
+
- { platform: x86_64-linux-musl, docker_tag: "-alpine" }
|
228
|
+
# 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" }
|
232
|
+
- { platform: arm-linux, docker_platform: "--platform=linux/arm/v7" }
|
233
|
+
- { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
|
234
|
+
- { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
|
235
|
+
- { platform: x86-linux, docker_platform: "--platform=linux/386" }
|
236
|
+
- { platform: x86-linux-gnu, docker_platform: "--platform=linux/386" }
|
237
|
+
- { platform: x86-linux-musl, docker_platform: "--platform=linux/386" }
|
238
|
+
runs-on: ubuntu-latest
|
239
|
+
steps:
|
240
|
+
- uses: actions/checkout@v3
|
241
|
+
- name: Download gem-${{ matrix.platform }}
|
242
|
+
uses: actions/download-artifact@v3
|
243
|
+
with:
|
244
|
+
name: gem-${{ matrix.platform }}
|
245
|
+
- name: Run tests
|
246
|
+
run: |
|
247
|
+
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
248
|
+
docker run --rm -v $PWD:/work -w /work \
|
249
|
+
${{ matrix.docker_platform}} ruby:${{ matrix.ruby }}${{ matrix.docker_tag }} \
|
250
|
+
sh -c "
|
251
|
+
gem update --system ${{ matrix.rubygems }} &&
|
252
|
+
gem install --local *.gem --verbose &&
|
253
|
+
cd test/rcd_test/ &&
|
254
|
+
bundle install &&
|
255
|
+
ruby -rrcd_test -S rake test
|
256
|
+
"
|
257
|
+
|
258
|
+
test_the_rest:
|
259
|
+
name: "${{ matrix.platform }} ${{ matrix.ruby }}"
|
260
|
+
needs: build_native_gem
|
261
|
+
strategy:
|
262
|
+
fail-fast: false
|
263
|
+
matrix:
|
264
|
+
os: [macos]
|
265
|
+
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
|
168
266
|
include:
|
169
|
-
- os: windows
|
170
|
-
platform: x64-mingw32
|
171
267
|
- os: macos
|
172
268
|
platform: x86_64-darwin
|
173
269
|
- os: ubuntu
|
174
|
-
|
175
|
-
- os: ubuntu
|
176
|
-
ruby: jruby-head
|
270
|
+
ruby: jruby
|
177
271
|
platform: jruby
|
178
272
|
- os: windows
|
179
|
-
ruby: "
|
180
|
-
platform: x64-
|
273
|
+
ruby: "2.4"
|
274
|
+
platform: x64-mingw32
|
181
275
|
- os: windows
|
182
|
-
ruby: "
|
183
|
-
platform: x64-
|
276
|
+
ruby: "2.5"
|
277
|
+
platform: x64-mingw32
|
184
278
|
- os: windows
|
185
|
-
ruby: "
|
186
|
-
platform: x64-
|
187
|
-
|
279
|
+
ruby: "2.6"
|
280
|
+
platform: x64-mingw32
|
281
|
+
- os: windows
|
282
|
+
ruby: "2.7"
|
283
|
+
platform: x64-mingw32
|
284
|
+
- os: windows
|
285
|
+
ruby: "3.0"
|
286
|
+
platform: x64-mingw32
|
188
287
|
- os: windows
|
189
288
|
ruby: "3.1"
|
289
|
+
platform: x64-mingw-ucrt
|
190
290
|
- os: windows
|
191
291
|
ruby: "3.2"
|
292
|
+
platform: x64-mingw-ucrt
|
192
293
|
- os: windows
|
193
|
-
ruby: "
|
194
|
-
|
294
|
+
ruby: "3.3"
|
295
|
+
platform: x64-mingw-ucrt
|
195
296
|
runs-on: ${{ matrix.os }}-latest
|
196
297
|
steps:
|
197
298
|
- uses: actions/checkout@v3
|
198
299
|
- uses: ruby/setup-ruby@v1
|
199
300
|
with:
|
200
301
|
ruby-version: ${{ matrix.ruby }}
|
201
|
-
-
|
202
|
-
|
302
|
+
- name: Print ruby version and gem env
|
303
|
+
run: |
|
304
|
+
ruby --version
|
305
|
+
gem env
|
306
|
+
- name: Download gem-${{ matrix.platform }}
|
203
307
|
uses: actions/download-artifact@v3
|
204
308
|
with:
|
205
309
|
name: gem-${{ matrix.platform }}
|
206
|
-
- name:
|
207
|
-
run: gem install --local *.gem --verbose
|
208
|
-
- name: Run tests
|
310
|
+
- name: Test gem-${{ matrix.platform }}
|
209
311
|
run: |
|
312
|
+
gem install --local *.gem --verbose
|
210
313
|
cd test/rcd_test/
|
211
314
|
bundle install
|
212
315
|
ruby -rrcd_test -S rake test
|
213
316
|
|
214
|
-
|
215
|
-
name:
|
216
|
-
needs:
|
317
|
+
test_windows_static:
|
318
|
+
name: "static ${{ matrix.platform }} ${{ matrix.ruby }}"
|
319
|
+
needs: build_native_gem
|
217
320
|
strategy:
|
218
321
|
fail-fast: false
|
219
322
|
matrix:
|
220
|
-
os:
|
221
|
-
- windows
|
222
|
-
ruby:
|
223
|
-
- "head" # 3.3
|
224
|
-
- "3.2"
|
225
|
-
- "3.1"
|
226
|
-
- "3.0"
|
227
|
-
- "2.7"
|
228
|
-
- "2.6"
|
229
|
-
- "2.5"
|
230
|
-
- "2.4"
|
231
323
|
include:
|
232
324
|
- os: windows
|
325
|
+
ruby: "2.4"
|
233
326
|
platform: x64-mingw32
|
234
327
|
- os: windows
|
235
|
-
ruby: "
|
236
|
-
platform: x64-
|
328
|
+
ruby: "2.5"
|
329
|
+
platform: x64-mingw32
|
237
330
|
- os: windows
|
238
|
-
ruby: "
|
239
|
-
platform: x64-
|
331
|
+
ruby: "2.6"
|
332
|
+
platform: x64-mingw32
|
240
333
|
- os: windows
|
241
|
-
ruby: "
|
242
|
-
platform: x64-
|
243
|
-
|
334
|
+
ruby: "2.7"
|
335
|
+
platform: x64-mingw32
|
336
|
+
- os: windows
|
337
|
+
ruby: "3.0"
|
338
|
+
platform: x64-mingw32
|
244
339
|
- os: windows
|
245
340
|
ruby: "3.1"
|
341
|
+
platform: x64-mingw-ucrt
|
246
342
|
- os: windows
|
247
343
|
ruby: "3.2"
|
344
|
+
platform: x64-mingw-ucrt
|
248
345
|
- os: windows
|
249
|
-
ruby: "
|
250
|
-
|
346
|
+
ruby: "3.3"
|
347
|
+
platform: x64-mingw-ucrt
|
251
348
|
runs-on: ${{ matrix.os }}-latest
|
252
349
|
steps:
|
253
350
|
- uses: actions/checkout@v3
|
254
351
|
- uses: ruby/setup-ruby@v1
|
255
352
|
with:
|
256
353
|
ruby-version: ${{ matrix.ruby }}
|
257
|
-
-
|
258
|
-
|
354
|
+
- name: Print ruby version and gem env
|
355
|
+
run: |
|
356
|
+
ruby --version
|
357
|
+
gem env
|
358
|
+
- name: Download gem-${{ matrix.platform }}-static
|
259
359
|
uses: actions/download-artifact@v3
|
260
360
|
with:
|
261
361
|
name: gem-${{ matrix.platform }}-static
|
262
|
-
- name:
|
263
|
-
run: gem install --local *.gem --verbose
|
264
|
-
- name: Run tests
|
362
|
+
- name: Test gem-${{ matrix.platform }}-static
|
265
363
|
run: |
|
364
|
+
gem install --local *.gem --verbose
|
266
365
|
cd test/rcd_test/
|
267
366
|
bundle install
|
268
367
|
ruby -rrcd_test -S rake test
|
269
368
|
|
270
|
-
|
271
|
-
name:
|
272
|
-
needs:
|
369
|
+
test_ad_hoc:
|
370
|
+
name: "${{ matrix.platform }} on ${{ matrix.from_image }}"
|
371
|
+
needs: build_native_gem
|
273
372
|
strategy:
|
274
373
|
fail-fast: false
|
275
374
|
matrix:
|
276
375
|
include:
|
277
376
|
- from_image: amd64/centos
|
278
|
-
platform: x86_64-linux
|
377
|
+
platform: x86_64-linux # centos-8 ships ruby 2.5, rubygems won't recognize -gnu suffix
|
279
378
|
dockerfile: centos
|
280
379
|
- from_image: navikey/raspbian-bullseye
|
281
|
-
platform: arm-linux
|
380
|
+
platform: arm-linux # bullseye ships ruby 2.7, rubygems won't recognize -gnu suffix
|
282
381
|
dockerfile: debian
|
283
382
|
- from_image: arm64v8/ubuntu
|
284
|
-
platform: aarch64-linux
|
383
|
+
platform: aarch64-linux # arm64v8 ships ruby 3.0, rubygems won't recognize -gnu suffix
|
285
384
|
dockerfile: debian
|
286
385
|
- from_image: i386/alpine
|
287
|
-
platform: x86-linux
|
386
|
+
platform: x86-linux-musl
|
288
387
|
dockerfile: alpine
|
289
388
|
- from_image: arm32v6/alpine
|
290
|
-
platform: arm-linux
|
389
|
+
platform: arm-linux-musl
|
390
|
+
dockerfile: alpine
|
391
|
+
- from_image: alpine
|
392
|
+
platform: x86_64-linux-musl
|
291
393
|
dockerfile: alpine
|
292
|
-
|
293
394
|
runs-on: ubuntu-latest
|
294
395
|
steps:
|
295
396
|
- uses: actions/checkout@v3
|
296
|
-
- name: Download gem-${{matrix.platform}}
|
397
|
+
- name: Download gem-${{ matrix.platform }}
|
297
398
|
uses: actions/download-artifact@v3
|
298
399
|
with:
|
299
400
|
name: gem-${{ matrix.platform }}
|
300
|
-
- name: Build
|
401
|
+
- name: Build ${{ matrix.from_image }} image
|
301
402
|
run: |
|
302
403
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
303
|
-
docker build --rm --build-arg from_image=${{matrix.from_image}} -t ruby-test -f test/env/Dockerfile.${{matrix.dockerfile}} .
|
304
|
-
|
404
|
+
docker build --rm --build-arg from_image=${{ matrix.from_image }} -t ruby-test -f test/env/Dockerfile.${{ matrix.dockerfile }} .
|
405
|
+
- name: Run tests
|
406
|
+
run: docker run --rm -t --network=host -v `pwd`:/build ruby-test
|
@@ -13,16 +13,20 @@ jobs:
|
|
13
13
|
fail-fast: false
|
14
14
|
matrix:
|
15
15
|
platform:
|
16
|
-
-
|
16
|
+
- aarch64-linux-gnu
|
17
|
+
- aarch64-linux-musl
|
18
|
+
- arm-linux-gnu
|
19
|
+
- arm-linux-musl
|
20
|
+
- arm64-darwin
|
21
|
+
- jruby
|
17
22
|
- x64-mingw-ucrt
|
18
23
|
- x64-mingw32
|
19
|
-
- x86-linux
|
20
|
-
-
|
24
|
+
- x86-linux-gnu
|
25
|
+
- x86-linux-musl
|
26
|
+
- x86-mingw32
|
21
27
|
- x86_64-darwin
|
22
|
-
-
|
23
|
-
-
|
24
|
-
- aarch64-linux
|
25
|
-
- jruby
|
28
|
+
- x86_64-linux-gnu
|
29
|
+
- x86_64-linux-musl
|
26
30
|
runs-on: ubuntu-latest
|
27
31
|
steps:
|
28
32
|
- uses: actions/checkout@v3
|
data/.gitignore
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
/.bundle/
|
2
2
|
/.yardoc
|
3
|
-
/Dockerfile.mri.aarch64-linux
|
4
|
-
/Dockerfile.mri.
|
3
|
+
/Dockerfile.mri.aarch64-linux-gnu
|
4
|
+
/Dockerfile.mri.aarch64-linux-musl
|
5
|
+
/Dockerfile.mri.arm-linux-gnu
|
6
|
+
/Dockerfile.mri.arm-linux-musl
|
5
7
|
/Dockerfile.mri.arm64-darwin
|
6
|
-
/Dockerfile.mri.arm64-linux
|
7
8
|
/Dockerfile.mri.x64-mingw-ucrt
|
8
9
|
/Dockerfile.mri.x64-mingw32
|
9
|
-
/Dockerfile.mri.x86-linux
|
10
|
+
/Dockerfile.mri.x86-linux-gnu
|
11
|
+
/Dockerfile.mri.x86-linux-musl
|
10
12
|
/Dockerfile.mri.x86-mingw32
|
11
13
|
/Dockerfile.mri.x86_64-darwin
|
12
|
-
/Dockerfile.mri.x86_64-linux
|
14
|
+
/Dockerfile.mri.x86_64-linux-gnu
|
15
|
+
/Dockerfile.mri.x86_64-linux-musl
|
13
16
|
/Gemfile.lock
|
14
17
|
/_yardoc/
|
15
18
|
/cache/
|
data/CONTRIBUTING.md
CHANGED
@@ -5,8 +5,8 @@ This document is intended for the rake-compiler-dock contributors.
|
|
5
5
|
## Cutting a release
|
6
6
|
|
7
7
|
- prep
|
8
|
-
- [
|
9
|
-
- [
|
8
|
+
- [ ] make sure CI is green!
|
9
|
+
- [ ] update `History.md` and `lib/rake_compiler_dock/version.rb`
|
10
10
|
- build
|
11
11
|
- [ ] run the steps below to generate the images locally
|
12
12
|
- [ ] run `gem build rake-compiler-dock`
|