Skip to content

Commit 451ec26

Browse files
committed
RCBC-514: Add support for Ruby 3.4 and Linux/arm64
1 parent 6d89cab commit 451ec26

File tree

1 file changed

+90
-4
lines changed

1 file changed

+90
-4
lines changed

.github/workflows/tests.yml

Lines changed: 90 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ jobs:
114114
name: scripts-${{ needs.source.outputs.gem_version }}
115115
- name: Install build environment
116116
env:
117-
SUPPORTED_RUBY_VERSIONS: "3.1 3.2 3.3"
117+
SUPPORTED_RUBY_VERSIONS: "3.1 3.2 3.3 3.4"
118118
run: |
119119
bash bin/jenkins/install-rubies.sh
120120
- uses: actions/download-artifact@v4
@@ -123,7 +123,7 @@ jobs:
123123
name: couchbase-${{ needs.source.outputs.gem_version }}
124124
- name: Build gem
125125
env:
126-
SUPPORTED_RUBY_VERSIONS: "3.1 3.2 3.3"
126+
SUPPORTED_RUBY_VERSIONS: "3.1 3.2 3.3 3.4"
127127
BUNDLE_ALLOW_ROOT: true
128128
run: |
129129
bash bin/jenkins/build-gem.sh
@@ -135,14 +135,15 @@ jobs:
135135
136136
build_linux_x86_64:
137137
needs: source
138-
runs-on: ubuntu-20.04
138+
runs-on: ubuntu-22.04
139139
strategy:
140140
fail-fast: false
141141
matrix:
142142
ruby:
143143
- '3.1'
144144
- '3.2'
145145
- '3.3'
146+
- '3.4'
146147
steps:
147148
- uses: hendrikmuhs/[email protected]
148149
with:
@@ -190,9 +191,13 @@ jobs:
190191
with:
191192
path: pkg/binary/3.3
192193
name: couchbase-${{ needs.source.outputs.gem_version }}-x86_64-linux-3.3
194+
- uses: actions/download-artifact@v4
195+
with:
196+
path: pkg/binary/3.4
197+
name: couchbase-${{ needs.source.outputs.gem_version }}-x86_64-linux-3.4
193198
- uses: ruby/setup-ruby@v1
194199
with:
195-
ruby-version: 3.3
200+
ruby-version: 3.4
196201
- name: Repackage
197202
run: |
198203
ruby bin/jenkins/repackage-extension.rb
@@ -202,6 +207,80 @@ jobs:
202207
path: |
203208
pkg/fat/*.gem
204209
210+
build_linux_arm64:
211+
needs: source
212+
runs-on: ubuntu-22.04-arm
213+
strategy:
214+
fail-fast: false
215+
matrix:
216+
ruby:
217+
- '3.1'
218+
- '3.2'
219+
- '3.3'
220+
- '3.4'
221+
steps:
222+
- uses: hendrikmuhs/[email protected]
223+
with:
224+
max-size: 2G
225+
key: ${{ github.job }}-${{ matrix.ruby }}
226+
- uses: ruby/setup-ruby@v1
227+
with:
228+
ruby-version: ${{ matrix.ruby }}
229+
- uses: actions/download-artifact@v4
230+
with:
231+
name: couchbase-${{ needs.source.outputs.gem_version }}
232+
- name: Precompile
233+
env:
234+
CB_STATIC_BORINGSSL: 1
235+
CB_STATIC_STDLIB: 1
236+
CB_REMOVE_EXT_DIRECTORY: 1
237+
run: |
238+
gem install gem-compiler
239+
gem compile --strip --prune couchbase-${{ needs.source.outputs.gem_version }}.gem
240+
- uses: actions/upload-artifact@v4
241+
with:
242+
retention-days: 1
243+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux-${{ matrix.ruby }}
244+
path: |
245+
*-arm64-linux.gem
246+
247+
repackage_linux_arm64:
248+
needs:
249+
- source
250+
- build_linux_arm64
251+
runs-on: ubuntu-22.04-arm
252+
steps:
253+
- uses: actions/download-artifact@v4
254+
with:
255+
name: scripts-${{ needs.source.outputs.gem_version }}
256+
- uses: actions/download-artifact@v4
257+
with:
258+
path: pkg/binary/3.1
259+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux-3.1
260+
- uses: actions/download-artifact@v4
261+
with:
262+
path: pkg/binary/3.2
263+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux-3.2
264+
- uses: actions/download-artifact@v4
265+
with:
266+
path: pkg/binary/3.3
267+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux-3.3
268+
- uses: actions/download-artifact@v4
269+
with:
270+
path: pkg/binary/3.4
271+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux-3.4
272+
- uses: ruby/setup-ruby@v1
273+
with:
274+
ruby-version: 3.4
275+
- name: Repackage
276+
run: |
277+
ruby bin/jenkins/repackage-extension.rb
278+
- uses: actions/upload-artifact@v4
279+
with:
280+
name: couchbase-${{ needs.source.outputs.gem_version }}-arm64-linux
281+
path: |
282+
pkg/fat/*.gem
283+
205284
build_macos_arm64:
206285
needs: source
207286
runs-on: macos-14
@@ -212,6 +291,7 @@ jobs:
212291
- '3.1'
213292
- '3.2'
214293
- '3.3'
294+
- '3.4'
215295
steps:
216296
- uses: hendrikmuhs/[email protected]
217297
with:
@@ -281,6 +361,7 @@ jobs:
281361
- '3.1'
282362
- '3.2'
283363
- '3.3'
364+
- '3.4'
284365
steps:
285366
- uses: hendrikmuhs/[email protected]
286367
with:
@@ -353,6 +434,7 @@ jobs:
353434
- '3.1'
354435
- '3.2'
355436
- '3.3'
437+
- '3.4'
356438
steps:
357439
- uses: actions/download-artifact@v4
358440
with:
@@ -413,6 +495,7 @@ jobs:
413495
- '3.1'
414496
- '3.2'
415497
- '3.3'
498+
- '3.4'
416499
steps:
417500
- uses: actions/download-artifact@v4
418501
with:
@@ -476,6 +559,7 @@ jobs:
476559
- '3.1'
477560
- '3.2'
478561
- '3.3'
562+
- '3.4'
479563
steps:
480564
- uses: actions/download-artifact@v4
481565
with:
@@ -631,6 +715,7 @@ jobs:
631715
- '3.1'
632716
- '3.2'
633717
- '3.3'
718+
- '3.4'
634719
steps:
635720
- uses: ruby/setup-ruby@v1
636721
with:
@@ -711,6 +796,7 @@ jobs:
711796
# - '3.1'
712797
# - '3.2'
713798
# - '3.3'
799+
# - '3.4'
714800
# steps:
715801
# - uses: actions/download-artifact@v4
716802
# with:

0 commit comments

Comments
 (0)