@@ -269,7 +269,6 @@ jobs:
269
269
build-and-check-gcc-5 :
270
270
271
271
runs-on : ubuntu-22.04
272
- container : ubuntu:18.04
273
272
env :
274
273
# otherwise we hang when installing tzdata
275
274
DEBIAN_FRONTEND : noninteractive
@@ -278,52 +277,77 @@ jobs:
278
277
279
278
- name : Install Deps
280
279
run : |
281
- apt-get update;
282
- apt-get install -y \
280
+ sudo apt-get update;
281
+ sudo apt-get install -y \
283
282
curl \
284
283
automake \
285
284
autoconf \
286
285
libtool \
287
286
autogen \
288
287
bison \
289
288
flex \
289
+ libc6-dev \
290
+ libc6-dev-i386 \
290
291
libgmp3-dev \
291
292
libmpfr-dev \
292
293
libmpc-dev \
293
294
build-essential \
294
- gcc-5 \
295
- g++-5 \
296
- gcc-5-multilib \
297
- g++-5-multilib \
298
295
dejagnu;
299
296
# install Rust directly using rustup
300
297
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=1.72.0;
301
298
299
+ - name : Restore cached gcc-5.4
300
+ id : restore-gcc5
301
+ uses : actions/cache/restore@v4
302
+ with :
303
+ key : ce-tar-gcc-5
304
+ path : ~/gcc-5.4.0/
305
+
306
+ - name : Download and install gcc5.4
307
+ if : ${{ steps.restore-gcc5.outputs.cache-hit != 'true' }}
308
+ run : |
309
+ curl "https://s3.amazonaws.com/compiler-explorer/opt/gcc-5.4.0.tar.xz" -o /tmp/gcc.tar.xz;
310
+ cd ~;
311
+ tar xvf /tmp/gcc.tar.xz
312
+
313
+ - name : Store gcc-5.4 to cache
314
+ id : cache-gcc5
315
+ if : always() && steps.restore-gcc5.outputs.cache-hit != 'true'
316
+ uses : actions/cache/save@v4
317
+ with :
318
+ key : ce-tar-gcc-5
319
+ path : ~/gcc-5.4.0/
320
+
302
321
- name : Make Source Read-Only
303
322
run : chmod -R a-w ./*
304
323
305
324
- name : Configure
306
325
run : |
307
326
mkdir -p gccrs-build;
308
327
cd gccrs-build;
309
- ../configure \
310
- CC='gcc-5' \
311
- CXX='g++-5' \
312
- --enable-languages=rust \
313
- --disable-bootstrap \
314
- --enable-multilib
328
+
329
+ # Add cargo to our path quickly
330
+ . "$HOME/.cargo/env";
331
+
332
+ PATH=$HOME/gcc-5.4.0/bin:$PATH \
333
+ ../configure \
334
+ --enable-languages=rust \
335
+ --disable-bootstrap \
336
+ --enable-multilib
315
337
316
338
- name : Build
317
339
shell : bash
318
340
run : |
319
341
# Add cargo to our path quickly
320
342
. "$HOME/.cargo/env";
321
- make -C gccrs-build -j $(nproc)
343
+ PATH=$HOME/gcc-5.4.0/bin:$PATH \
344
+ make -C gccrs-build -j $(nproc)
322
345
323
346
- name : Run Tests
324
347
run : |
325
348
cd gccrs-build; \
326
- make check-rust RUNTESTFLAGS="--target_board=unix\{-m32,-m64}"
349
+ PATH=$HOME/gcc-5.4.0/bin:$PATH \
350
+ make check-rust RUNTESTFLAGS="--target_board=unix\{-m32,-m64}"
327
351
328
352
- name : Archive check-rust results
329
353
uses : actions/upload-artifact@v3
0 commit comments