76
76
- target : i686-unknown-linux-gnu
77
77
docker : true
78
78
os : ubuntu-24.04
79
+ - target : i686-unknown-linux-gnu
80
+ docker : true
81
+ os : ubuntu-24.04
82
+ artifact-tag : offset-bits64
83
+ env :
84
+ RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS : 64
79
85
- target : x86_64-unknown-linux-gnu
80
86
docker : true
81
87
os : ubuntu-24.04
@@ -107,6 +113,13 @@ jobs:
107
113
with :
108
114
key : ${{ matrix.target }}
109
115
116
+ - name : Add matrix env variables to the environment
117
+ if : matrix.env
118
+ run : |
119
+ echo '${{ toJson(matrix.env) }}' |
120
+ jq -r 'to_entries | map("\(.key)=\(.value|tostring)") | .[]' >>$GITHUB_ENV
121
+ shell : bash
122
+
110
123
- name : Run natively
111
124
if : " !matrix.docker"
112
125
run : ./ci/run.sh ${{ matrix.target }}
@@ -115,11 +128,13 @@ jobs:
115
128
run : ./ci/run-docker.sh ${{ matrix.target }}
116
129
117
130
- name : Create CI artifacts
131
+ id : create_artifacts
118
132
if : always()
119
133
run : ./ci/create-artifacts.py
120
134
- uses : actions/upload-artifact@v4
135
+ if : always() && steps.create_artifacts.outcome == 'success'
121
136
with :
122
- name : ${{ env.ARCHIVE_NAME }}-${{ matrix.target }}
137
+ name : ${{ env.ARCHIVE_NAME }}-${{ matrix.target }}${{ matrix.artifact-tag && format('-{0}', matrix.artifact-tag) }}
123
138
path : ${{ env.ARCHIVE_PATH }}
124
139
retention-days : 5
125
140
@@ -139,15 +154,11 @@ jobs:
139
154
- aarch64-unknown-linux-gnu
140
155
- aarch64-unknown-linux-musl
141
156
- arm-linux-androideabi
142
- - arm-unknown-linux-gnueabihf
143
157
- arm-unknown-linux-musleabihf
144
158
- i686-linux-android
145
159
- i686-unknown-linux-musl
146
160
- loongarch64-unknown-linux-gnu
147
161
- loongarch64-unknown-linux-musl
148
- # FIXME(ppc): SIGILL running tests, see
149
- # https://github.com/rust-lang/libc/pull/4254#issuecomment-2636288713
150
- # - powerpc-unknown-linux-gnu
151
162
- powerpc64-unknown-linux-gnu
152
163
- powerpc64le-unknown-linux-gnu
153
164
- riscv64gc-unknown-linux-gnu
@@ -162,6 +173,19 @@ jobs:
162
173
# FIXME: It seems some items in `src/unix/mod.rs`
163
174
# aren't defined on redox actually.
164
175
# - x86_64-unknown-redox
176
+ include :
177
+ - target : arm-unknown-linux-gnueabihf
178
+ - target : arm-unknown-linux-gnueabihf
179
+ env :
180
+ RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS : 64
181
+ artifact-tag : offset-bits64
182
+ # FIXME(ppc): SIGILL running tests, see
183
+ # https://github.com/rust-lang/libc/pull/4254#issuecomment-2636288713
184
+ # - target: powerpc-unknown-linux-gnu
185
+ # - target: powerpc-unknown-linux-gnu
186
+ # env:
187
+ # RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS: 64
188
+ # artifact-tag: offset-bits64
165
189
timeout-minutes : 25
166
190
env :
167
191
TARGET : ${{ matrix.target }}
@@ -173,15 +197,24 @@ jobs:
173
197
with :
174
198
key : ${{ matrix.target }}
175
199
200
+ - name : Add matrix env variables to the environment
201
+ if : matrix.env
202
+ run : |
203
+ echo '${{ toJson(matrix.env) }}' |
204
+ jq -r 'to_entries | map("\(.key)=\(.value|tostring)") | .[]' >>$GITHUB_ENV
205
+ shell : bash
206
+
176
207
- name : Execute run-docker.sh
177
208
run : ./ci/run-docker.sh ${{ matrix.target }}
178
209
179
210
- name : Create CI artifacts
211
+ id : create_artifacts
180
212
if : always()
181
213
run : ./ci/create-artifacts.py
182
214
- uses : actions/upload-artifact@v4
215
+ if : always() && steps.create_artifacts.outcome == 'success'
183
216
with :
184
- name : ${{ env.ARCHIVE_NAME }}-${{ matrix.target }}
217
+ name : ${{ env.ARCHIVE_NAME }}-${{ matrix.target }}${{ matrix.artifact-tag && format('-{0}', matrix.artifact-tag) }}
185
218
path : ${{ env.ARCHIVE_PATH }}
186
219
retention-days : 5
187
220
0 commit comments