1
1
name : Build Gems
2
2
on :
3
+ pull_request :
3
4
push :
4
5
branches :
5
6
- main
13
14
matrix :
14
15
# TODO(cretz): Enable x64-mingw-ucrt if we can figure out Windows issue, see
15
16
# https://github.com/temporalio/sdk-ruby/issues/172
16
- rubyPlatform : ["aarch64-linux", "x86_64-linux", "arm64-darwin", "x86_64-darwin"]
17
+ rubyPlatform : ["aarch64-linux", "aarch64-linux-musl", " x86_64-linux", "x86_64-linux-musl ", "arm64-darwin", "x86_64-darwin"]
17
18
steps :
18
19
- name : Checkout repository
19
20
uses : actions/checkout@v4
86
87
# https://github.com/temporalio/sdk-ruby/issues/172
87
88
os : [ubuntu-latest, macos-intel, macos-latest]
88
89
rubyVersion : ["3.2", "3.3", "3.4"]
90
+ # Container defaults to empty/none, but additional container for Alpine
91
+ # added later
92
+ container : [""]
93
+
89
94
include :
90
95
- os : ubuntu-latest
91
96
rubyPlatform : x86_64-linux
94
99
rubyPlatform : x86_64-darwin
95
100
- os : macos-latest
96
101
rubyPlatform : arm64-darwin
102
+ - os : ubuntu-latest
103
+ rubyVersion : " 3.3"
104
+ container : alpine/git:latest
105
+ rubyPlatform : x86_64-linux-musl
97
106
runs-on : ${{ matrix.runsOn || matrix.os }}
107
+ container : ${{ matrix.container }}
98
108
steps :
99
109
- name : Checkout repository
100
110
uses : actions/checkout@v4
@@ -107,12 +117,19 @@ jobs:
107
117
name : ${{ matrix.rubyPlatform }}-gem
108
118
path : local-gem
109
119
120
+ # This only works on official runners
110
121
- name : Setup Ruby
122
+ if : ${{ matrix.container == '' }}
111
123
uses : oxidize-rb/actions/setup-ruby-and-rust@v1
112
124
with :
113
125
ruby-version : " ${{ matrix.rubyVersion }}"
114
126
bundler-cache : true
115
127
cargo-cache : false
116
128
129
+ # Works for Alpine
130
+ - name : Setup Ruby (Alpine)
131
+ if : ${{ matrix.container == 'alpine/git:latest' }}
132
+ run : apk add --no-cache ruby ruby-dev ruby-bundler build-base
133
+
117
134
- name : Run smoke test
118
135
run : ruby ./temporalio/smoke_test/smoke_test_gem.rb 'local-gem/*-${{ matrix.rubyPlatform }}.gem'
0 commit comments