| name: GCC Bootstrap Build |
| |
| on: |
| schedule: |
| - cron: '0 0 * * *' |
| |
| jobs: |
| build: |
| |
| runs-on: ubuntu-22.04 |
| |
| steps: |
| - uses: actions/checkout@v4 |
| |
| - 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 |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=1.72.0; |
| |
| - name: Configure |
| run: | |
| mkdir -p gccrs-build; |
| cd gccrs-build; |
| ../configure \ |
| --enable-languages=rust \ |
| --enable-multilib |
| |
| - name: Build |
| run: | |
| cd gccrs-build; \ |
| # Build without network access |
| unshare --net --ipc -r /bin/bash -c "make -j $(nproc)" |
| |
| - name: Run Tests |
| run: | |
| cd gccrs-build; \ |
| make check-rust |
| - name: Archive check-rust results |
| uses: actions/upload-artifact@v4 |
| with: |
| name: check-rust-logs |
| path: | |
| gccrs-build/gcc/testsuite/rust/ |
| - name: Check regressions |
| run: | |
| cd gccrs-build; \ |
| if grep "# of unexpected" gcc/testsuite/rust/rust.sum;\ |
| then \ |
| echo "some tests are not correct"; \ |
| exit 1; \ |
| else \ |
| exit 0; \ |
| fi |