rake-compiler-dock 1.4.0 → 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 +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
|