diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2023-05-18 23:46:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-18 23:46:18 +0800 |
commit | 2c4d31fc60fca753c4379f716ff0cea5dc5b5c9f (patch) | |
tree | f6c508bf8f1560168f11e6132abae4936c237cf0 | |
parent | ac4e8ddfc45c6dd2e9bc5d3fc0fc515633d26643 (diff) | |
parent | 92b89b68949a1001be58fc31204bfb881bf7eb24 (diff) | |
download | riscv-gnu-toolchain-2c4d31fc60fca753c4379f716ff0cea5dc5b5c9f.zip riscv-gnu-toolchain-2c4d31fc60fca753c4379f716ff0cea5dc5b5c9f.tar.gz riscv-gnu-toolchain-2c4d31fc60fca753c4379f716ff0cea5dc5b5c9f.tar.bz2 |
Merge pull request #1246 from patrick-rivos/make-report-ci2023.05.19
Add ci jobs for make-report and make-report multilib
-rwxr-xr-x | .github/setup-apt.sh | 2 | ||||
-rw-r--r-- | .github/workflows/build.yaml | 58 | ||||
-rwxr-xr-x | scripts/testsuite-filter | 2 |
3 files changed, 60 insertions, 2 deletions
diff --git a/.github/setup-apt.sh b/.github/setup-apt.sh index 5ce65e5..1ee5d8f 100755 --- a/.github/setup-apt.sh +++ b/.github/setup-apt.sh @@ -5,4 +5,4 @@ dpkg --add-architecture i386 apt update apt install -y autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev \ libgmp-dev gawk build-essential bison flex texinfo gperf libtool \ - patchutils bc zlib1g-dev libexpat-dev git + patchutils bc zlib1g-dev libexpat-dev git ninja-build expect diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1139913..0a8b8d9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -36,6 +36,14 @@ jobs: ./configure --prefix=/opt/riscv --with-arch=${TARGET_TUPLE[0]} --with-abi=${TARGET_TUPLE[1]} sudo make -j $(nproc) ${{ matrix.mode }} + - name: make report + if: | + matrix.os == 'ubuntu-20.04' + && (matrix.mode == 'linux' || matrix.mode == 'newlib') + && matrix.target == 'rv64gc-lp64d' + run: | + sudo make report-${{ matrix.mode }} -j $(nproc) + - name: tarball build run: tar czvf riscv.tar.gz -C /opt/ riscv/ @@ -57,3 +65,53 @@ jobs: with: name: ${{ steps.toolchain-name-generator.outputs.TOOLCHAIN_NAME }} path: riscv.tar.gz + + build-multilib: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + mode: [newlib, linux] + target: [rv64gc-lp64d] + steps: + - uses: actions/checkout@v2 + + - name: initialize submodules + run: | + git submodule init + git submodule update --recursive --progress --recommend-shallow + + - name: install dependencies + run: sudo ./.github/setup-apt.sh + + - name: build toolchain + run: | + TARGET_TUPLE=($(echo ${{ matrix.target }} | tr "-" "\n")) + ./configure --prefix=/opt/riscv --with-arch=${TARGET_TUPLE[0]} --with-abi=${TARGET_TUPLE[1]} --enable-multilib + sudo make -j $(nproc) ${{ matrix.mode }} + + - name: make report + run: | + sudo make report-${{ matrix.mode }} -j $(nproc) + + - name: tarball build + run: tar czvf riscv.tar.gz -C /opt/ riscv/ + + - name: generate prebuilt toolchain name + id: toolchain-name-generator + run: | + if [[ "${{ matrix.target }}" == *"32"* ]]; then BITS=32; else BITS=64; fi + case "${{ matrix.mode }}" in + "linux") + MODE="glibc";; + "musl") + MODE="musl";; + *) + MODE="elf";; + esac + echo ::set-output name=TOOLCHAIN_NAME::riscv$BITS-$MODE-${{ matrix.os }}-multilib-nightly + + - uses: actions/upload-artifact@v2 + with: + name: ${{ steps.toolchain-name-generator.outputs.TOOLCHAIN_NAME }} + path: riscv.tar.gz diff --git a/scripts/testsuite-filter b/scripts/testsuite-filter index 6812d33..8096d7f 100755 --- a/scripts/testsuite-filter +++ b/scripts/testsuite-filter @@ -271,7 +271,7 @@ def filter_result(tool, libc, white_list_base_dir, unexpected_results): fail_count = summary[config][tool] print ("%13d |" % fail_count, end='') print ("") - if any_fail: + if any_fail or len(summary.items()) == 0: return 1 else: return 0 |