aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Herron <philip.herron@embecosm.com>2022-08-10 10:48:15 +0100
committerPhilip Herron <philip.herron@embecosm.com>2022-08-10 10:51:26 +0100
commit50bb06ce3b990c2e282b7245b5fdcea119f6385f (patch)
tree328046e104f3a59e011845eac11969c8d3999205
parent6496291f34b929764d90ce5a6d0b05ca4753d53f (diff)
downloadgcc-50bb06ce3b990c2e282b7245b5fdcea119f6385f.zip
gcc-50bb06ce3b990c2e282b7245b5fdcea119f6385f.tar.gz
gcc-50bb06ce3b990c2e282b7245b5fdcea119f6385f.tar.bz2
Seperate 64 and 32 bit testing combos into seperate jobs
Change the CI requirements to have seperate jobs for 64 and 32 bit testing. It also runs both combinations on the gcc4.8 build job. Bors only requires the normal build check 64bit job to pass to minimize impact.
-rw-r--r--.github/bors.toml2
-rw-r--r--.github/workflows/ccpp.yml85
2 files changed, 82 insertions, 5 deletions
diff --git a/.github/bors.toml b/.github/bors.toml
index 89486ef..36914c2 100644
--- a/.github/bors.toml
+++ b/.github/bors.toml
@@ -1,5 +1,5 @@
status = [
- "build-and-check"
+ "build-and-check-ubuntu-64bit"
]
# Uncomment this to use a two hour timeout.
# The default is one hour.
diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml
index b49d525..c886740 100644
--- a/.github/workflows/ccpp.yml
+++ b/.github/workflows/ccpp.yml
@@ -1,4 +1,4 @@
-name: C/C++ CI
+name: GCC Rust build and test
on:
push:
@@ -9,7 +9,7 @@ on:
branches: [ master ]
jobs:
- build-and-check:
+ build-and-check-ubuntu-64bit:
env:
# Force locale, in particular for reproducible results re '.github/bors_log_expected_warnings' (see below).
@@ -67,7 +67,84 @@ jobs:
- name: Run Tests
run: |
cd gccrs-build; \
- make check-rust RUNTESTFLAGS="--target_board=unix\{-m32,-m64}"
+ make check-rust RUNTESTFLAGS="--target_board=unix\{-m64}"
+ - name: Archive check-rust results
+ uses: actions/upload-artifact@v2
+ with:
+ name: check-rust-logs
+ path: |
+ gccrs-build/gcc/testsuite/rust/
+ - name: Check regressions
+ run: |
+ cd gccrs-build; \
+ if grep -e "unexpected" -e "unresolved" -e "ERROR:" gcc/testsuite/rust/rust.sum;\
+ then \
+ echo "::error title=Regression test failed::some tests are not correct"; \
+ perl -n ../.github/emit_test_errors.pl < gcc/testsuite/rust/rust.sum; \
+ exit 1; \
+ else \
+ exit 0; \
+ fi
+
+ build-and-check-ubuntu-32bit:
+
+ env:
+ # Force locale, in particular for reproducible results re '.github/bors_log_expected_warnings' (see below).
+ LC_ALL: C.UTF-8
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Install Deps
+ run: |
+ sudo apt-get update;
+ sudo apt-get install -y \
+ automake \
+ autoconf \
+ libtool \
+ autogen \
+ bison \
+ flex \
+ libgmp3-dev \
+ libmpfr-dev \
+ libmpc-dev \
+ build-essential \
+ gcc-multilib \
+ g++-multilib \
+ dejagnu
+
+ - name: Configure
+ run: |
+ mkdir -p gccrs-build;
+ cd gccrs-build;
+ ../configure \
+ --enable-languages=rust \
+ --disable-bootstrap \
+ --enable-multilib
+
+ - name: Build
+ shell: bash
+ run: |
+ cd gccrs-build; \
+ make -Otarget -j $(nproc) 2>&1 | tee log
+
+ - name: Check for new warnings
+ run: |
+ cd gccrs-build
+ < log grep 'warning: ' | sort > log_warnings
+ if diff -U0 ../.github/bors_log_expected_warnings log_warnings; then
+ :
+ else
+ echo 'See <https://github.com/Rust-GCC/gccrs/pull/1026>.'
+ exit 1
+ fi >&2
+
+ - name: Run Tests
+ run: |
+ cd gccrs-build; \
+ make check-rust RUNTESTFLAGS="--target_board=unix\{-m32}"
- name: Archive check-rust results
uses: actions/upload-artifact@v2
with:
@@ -131,7 +208,7 @@ jobs:
- name: Run Tests
run: |
cd gccrs-build; \
- make check-rust
+ make check-rust RUNTESTFLAGS="--target_board=unix\{-m32,-m64}"
- name: Archive check-rust results
uses: actions/upload-artifact@v2