aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2023-05-18 23:46:18 +0800
committerGitHub <noreply@github.com>2023-05-18 23:46:18 +0800
commit2c4d31fc60fca753c4379f716ff0cea5dc5b5c9f (patch)
treef6c508bf8f1560168f11e6132abae4936c237cf0
parentac4e8ddfc45c6dd2e9bc5d3fc0fc515633d26643 (diff)
parent92b89b68949a1001be58fc31204bfb881bf7eb24 (diff)
downloadriscv-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.sh2
-rw-r--r--.github/workflows/build.yaml58
-rwxr-xr-xscripts/testsuite-filter2
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