rake-compiler-dock 1.4.0 → 1.5.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +242 -153
- data/.github/workflows/publish-images.yml +11 -7
- data/.gitignore +8 -5
- data/CONTRIBUTING.md +5 -5
- data/Dockerfile.jruby +43 -35
- data/Dockerfile.mri.erb +82 -97
- data/History.md +30 -3
- 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 +5 -6
- 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,301 +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.2"
|
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"
|
124
|
-
- "3.3"
|
125
|
-
- "3.2"
|
126
|
-
- "3.1"
|
127
|
-
- "3.0"
|
128
|
-
- "2.7"
|
129
|
-
- "2.6"
|
130
|
-
- "2.5"
|
131
|
-
- "2.4"
|
146
|
+
os: [ubuntu]
|
147
|
+
ruby: ["3.3", "3.2", "3.1", "3.0", "2.7", "2.6", "2.5", "2.4"]
|
132
148
|
runs-on: ${{ matrix.os }}-latest
|
133
149
|
steps:
|
134
150
|
- uses: actions/checkout@v3
|
135
151
|
- uses: ruby/setup-ruby@v1
|
136
152
|
with:
|
137
153
|
ruby-version: ${{ matrix.ruby }}
|
138
|
-
- name: Download gem
|
154
|
+
- name: Download source gem
|
139
155
|
uses: actions/download-artifact@v3
|
140
156
|
with:
|
141
157
|
name: gem-ruby
|
142
|
-
- name:
|
143
|
-
run: gem install --local *.gem --verbose
|
144
|
-
- name: Run tests
|
158
|
+
- name: Test source gem
|
145
159
|
run: |
|
160
|
+
gem install --local *.gem --verbose
|
146
161
|
cd test/rcd_test/
|
147
162
|
bundle install
|
148
163
|
ruby -rrcd_test -S rake test
|
149
164
|
|
150
|
-
|
151
|
-
name:
|
152
|
-
needs:
|
165
|
+
test-x86_64-linux-setup-ruby:
|
166
|
+
name: "${{ matrix.platform }} setup-ruby(${{ matrix.ruby }})"
|
167
|
+
needs: build_native_gem
|
153
168
|
strategy:
|
154
169
|
fail-fast: false
|
155
170
|
matrix:
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
- "
|
162
|
-
- "3.3"
|
163
|
-
- "3.
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
-
|
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"]
|
170
266
|
include:
|
171
|
-
- os: windows
|
172
|
-
platform: x64-mingw32
|
173
267
|
- os: macos
|
174
268
|
platform: x86_64-darwin
|
175
269
|
- os: ubuntu
|
176
|
-
|
177
|
-
- os: ubuntu
|
178
|
-
ruby: jruby-head
|
270
|
+
ruby: jruby
|
179
271
|
platform: jruby
|
180
272
|
- os: windows
|
181
|
-
ruby: "
|
182
|
-
platform: x64-
|
273
|
+
ruby: "2.4"
|
274
|
+
platform: x64-mingw32
|
183
275
|
- os: windows
|
184
|
-
ruby: "
|
185
|
-
platform: x64-
|
276
|
+
ruby: "2.5"
|
277
|
+
platform: x64-mingw32
|
186
278
|
- os: windows
|
187
|
-
ruby: "
|
188
|
-
platform: x64-
|
279
|
+
ruby: "2.6"
|
280
|
+
platform: x64-mingw32
|
189
281
|
- os: windows
|
190
|
-
ruby: "
|
191
|
-
platform: x64-
|
192
|
-
|
282
|
+
ruby: "2.7"
|
283
|
+
platform: x64-mingw32
|
284
|
+
- os: windows
|
285
|
+
ruby: "3.0"
|
286
|
+
platform: x64-mingw32
|
193
287
|
- os: windows
|
194
288
|
ruby: "3.1"
|
289
|
+
platform: x64-mingw-ucrt
|
195
290
|
- os: windows
|
196
291
|
ruby: "3.2"
|
292
|
+
platform: x64-mingw-ucrt
|
197
293
|
- os: windows
|
198
294
|
ruby: "3.3"
|
199
|
-
|
200
|
-
ruby: "head"
|
201
|
-
|
295
|
+
platform: x64-mingw-ucrt
|
202
296
|
runs-on: ${{ matrix.os }}-latest
|
203
297
|
steps:
|
204
298
|
- uses: actions/checkout@v3
|
205
299
|
- uses: ruby/setup-ruby@v1
|
206
300
|
with:
|
207
301
|
ruby-version: ${{ matrix.ruby }}
|
208
|
-
-
|
209
|
-
|
302
|
+
- name: Print ruby version and gem env
|
303
|
+
run: |
|
304
|
+
ruby --version
|
305
|
+
gem env
|
306
|
+
- name: Download gem-${{ matrix.platform }}
|
210
307
|
uses: actions/download-artifact@v3
|
211
308
|
with:
|
212
309
|
name: gem-${{ matrix.platform }}
|
213
|
-
- name:
|
214
|
-
run: gem install --local *.gem --verbose
|
215
|
-
- name: Run tests
|
310
|
+
- name: Test gem-${{ matrix.platform }}
|
216
311
|
run: |
|
312
|
+
gem install --local *.gem --verbose
|
217
313
|
cd test/rcd_test/
|
218
314
|
bundle install
|
219
315
|
ruby -rrcd_test -S rake test
|
220
316
|
|
221
|
-
|
222
|
-
name:
|
223
|
-
needs:
|
317
|
+
test_windows_static:
|
318
|
+
name: "static ${{ matrix.platform }} ${{ matrix.ruby }}"
|
319
|
+
needs: build_native_gem
|
224
320
|
strategy:
|
225
321
|
fail-fast: false
|
226
322
|
matrix:
|
227
|
-
os:
|
228
|
-
- windows
|
229
|
-
ruby:
|
230
|
-
- "head"
|
231
|
-
- "3.3"
|
232
|
-
- "3.2"
|
233
|
-
- "3.1"
|
234
|
-
- "3.0"
|
235
|
-
- "2.7"
|
236
|
-
- "2.6"
|
237
|
-
- "2.5"
|
238
|
-
- "2.4"
|
239
323
|
include:
|
240
324
|
- os: windows
|
325
|
+
ruby: "2.4"
|
241
326
|
platform: x64-mingw32
|
242
327
|
- os: windows
|
243
|
-
ruby: "
|
244
|
-
platform: x64-
|
328
|
+
ruby: "2.5"
|
329
|
+
platform: x64-mingw32
|
245
330
|
- os: windows
|
246
|
-
ruby: "
|
247
|
-
platform: x64-
|
331
|
+
ruby: "2.6"
|
332
|
+
platform: x64-mingw32
|
248
333
|
- os: windows
|
249
|
-
ruby: "
|
250
|
-
platform: x64-
|
334
|
+
ruby: "2.7"
|
335
|
+
platform: x64-mingw32
|
251
336
|
- os: windows
|
252
|
-
ruby: "
|
253
|
-
platform: x64-
|
254
|
-
exclude:
|
337
|
+
ruby: "3.0"
|
338
|
+
platform: x64-mingw32
|
255
339
|
- os: windows
|
256
340
|
ruby: "3.1"
|
341
|
+
platform: x64-mingw-ucrt
|
257
342
|
- os: windows
|
258
343
|
ruby: "3.2"
|
344
|
+
platform: x64-mingw-ucrt
|
259
345
|
- os: windows
|
260
346
|
ruby: "3.3"
|
261
|
-
|
262
|
-
ruby: "head"
|
263
|
-
|
347
|
+
platform: x64-mingw-ucrt
|
264
348
|
runs-on: ${{ matrix.os }}-latest
|
265
349
|
steps:
|
266
350
|
- uses: actions/checkout@v3
|
267
351
|
- uses: ruby/setup-ruby@v1
|
268
352
|
with:
|
269
353
|
ruby-version: ${{ matrix.ruby }}
|
270
|
-
-
|
271
|
-
|
354
|
+
- name: Print ruby version and gem env
|
355
|
+
run: |
|
356
|
+
ruby --version
|
357
|
+
gem env
|
358
|
+
- name: Download gem-${{ matrix.platform }}-static
|
272
359
|
uses: actions/download-artifact@v3
|
273
360
|
with:
|
274
361
|
name: gem-${{ matrix.platform }}-static
|
275
|
-
- name:
|
276
|
-
run: gem install --local *.gem --verbose
|
277
|
-
- name: Run tests
|
362
|
+
- name: Test gem-${{ matrix.platform }}-static
|
278
363
|
run: |
|
364
|
+
gem install --local *.gem --verbose
|
279
365
|
cd test/rcd_test/
|
280
366
|
bundle install
|
281
367
|
ruby -rrcd_test -S rake test
|
282
368
|
|
283
|
-
|
284
|
-
name:
|
285
|
-
needs:
|
369
|
+
test_ad_hoc:
|
370
|
+
name: "${{ matrix.platform }} on ${{ matrix.from_image }}"
|
371
|
+
needs: build_native_gem
|
286
372
|
strategy:
|
287
373
|
fail-fast: false
|
288
374
|
matrix:
|
289
375
|
include:
|
290
376
|
- from_image: amd64/centos
|
291
|
-
platform: x86_64-linux
|
377
|
+
platform: x86_64-linux # centos-8 ships ruby 2.5, rubygems won't recognize -gnu suffix
|
292
378
|
dockerfile: centos
|
293
379
|
- from_image: navikey/raspbian-bullseye
|
294
|
-
platform: arm-linux
|
380
|
+
platform: arm-linux # bullseye ships ruby 2.7, rubygems won't recognize -gnu suffix
|
295
381
|
dockerfile: debian
|
296
382
|
- from_image: arm64v8/ubuntu
|
297
|
-
platform: aarch64-linux
|
383
|
+
platform: aarch64-linux # arm64v8 ships ruby 3.0, rubygems won't recognize -gnu suffix
|
298
384
|
dockerfile: debian
|
299
385
|
- from_image: i386/alpine
|
300
|
-
platform: x86-linux
|
386
|
+
platform: x86-linux-musl
|
301
387
|
dockerfile: alpine
|
302
388
|
- from_image: arm32v6/alpine
|
303
|
-
platform: arm-linux
|
389
|
+
platform: arm-linux-musl
|
390
|
+
dockerfile: alpine
|
391
|
+
- from_image: alpine
|
392
|
+
platform: x86_64-linux-musl
|
304
393
|
dockerfile: alpine
|
305
|
-
|
306
394
|
runs-on: ubuntu-latest
|
307
395
|
steps:
|
308
396
|
- uses: actions/checkout@v3
|
309
|
-
- name: Download gem-${{matrix.platform}}
|
397
|
+
- name: Download gem-${{ matrix.platform }}
|
310
398
|
uses: actions/download-artifact@v3
|
311
399
|
with:
|
312
400
|
name: gem-${{ matrix.platform }}
|
313
|
-
- name: Build
|
401
|
+
- name: Build ${{ matrix.from_image }} image
|
314
402
|
run: |
|
315
403
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
316
|
-
docker build --rm --build-arg from_image=${{matrix.from_image}} -t ruby-test -f test/env/Dockerfile.${{matrix.dockerfile}} .
|
317
|
-
|
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
@@ -6,13 +6,13 @@ This document is intended for the rake-compiler-dock contributors.
|
|
6
6
|
|
7
7
|
- prep
|
8
8
|
- [ ] make sure CI is green!
|
9
|
-
- [
|
9
|
+
- [ ] update `History.md` and `lib/rake_compiler_dock/version.rb`
|
10
10
|
- build
|
11
|
-
- [
|
12
|
-
- [
|
13
|
-
- [
|
11
|
+
- [ ] run the steps below to generate the images locally
|
12
|
+
- [ ] run `gem build rake-compiler-dock`
|
13
|
+
- [ ] create a git tag
|
14
14
|
- push
|
15
|
-
- [
|
15
|
+
- [ ] run `bundle exec rake release:images`
|
16
16
|
- [ ] run `gem push pkg/rake-compiler-dock*gem`
|
17
17
|
- [ ] run `git push && git push --tags`
|
18
18
|
- announce
|