intermediate checkin #994
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install packages | |
run: sudo apt install -y opam zlib1g-dev pkg-config libgmp-dev z3 device-tree-compiler | |
- name: Check out repository code | |
uses: actions/checkout@HEAD | |
with: | |
submodules: recursive | |
- name: Update submodule branch | |
# run : | | |
# git config --file=.gitmodules submodule.TEST_DIR_ROOT/riscv_tests.git.branch riscv-tests-sail ; \ | |
# git submodule sync ; \ | |
# git submodule update --init --recursive --remote | |
run : | | |
cd TEST_DIR_ROOT/riscv_tests.git ; \ | |
git fetch ; \ | |
git checkout riscv-tests-sail ; | |
- name: Ensure pre-commit checks pass | |
run: pip install pre-commit && pre-commit run --all-files --show-diff-on-failure --color=always | |
- name: Init opam | |
run: opam init --disable-sandboxing -y | |
- name: Install sail | |
run: opam install -y sail | |
- name: Download RISC-V toolchain (32-bit) | |
run: wget -c https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.04.12/riscv32-elf-ubuntu-22.04-gcc-nightly-2024.04.12-nightly.tar.gz | |
- name: Install RISC-V toolchain (32-bit) | |
run: sudo tar xvfz riscv32-elf-ubuntu-22.04-gcc-nightly-2024.04.12-nightly.tar.gz --directory /opt | |
- name: Download RISC-V toolchain (64-bit) | |
run: wget -c https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.04.12/riscv64-elf-ubuntu-22.04-gcc-nightly-2024.04.12-nightly.tar.gz | |
- name: Install RISC-V toolchain (64-bit) | |
run: sudo tar xvfz riscv64-elf-ubuntu-22.04-gcc-nightly-2024.04.12-nightly.tar.gz --directory /opt | |
- name: Build RISC-V testsuite | |
run: | | |
cd TEST_DIR_ROOT/riscv_tests.git ; \ | |
git checkout -b riscv-tests-sail remotes/origin/riscv-tests-sail ; \ | |
echo ${PWD} ; ls ; \ | |
autoconf ; \ | |
./configure --prefix=${PWD}/target ; \ | |
export PATH=/opt/riscv/bin:${PATH} ; \ | |
make isa ; | |
- name: Build and test simulators | |
run: eval $(opam env) && test/run_tests.sh | |
- name: Build and test simulators (new method) | |
run: | | |
eval $(opam env) ; \ | |
cd TEST_DIR_ROOT/riscv_tests.git ; \ | |
../../bin/run_tests.py --outfile=tests_new.xml --32bit=yes --64bit=yes --c_sim=yes --ocaml_sim=no --sailcov=no --clean_build=yes --test_switch_pyfile=test_command_line_switch.py --test_ignore_pyfile=test_ignore_list.py | |
- name: Upload test results | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests.xml | |
path: test/tests.xml | |
- name: Upload test results (new) | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests_new.xml | |
path: TEST_DIR_ROOT/riscv_test.git/tests_new.xml | |
- name: Upload event payload | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: event.json | |
path: ${{ github.event_path }} |