Implement CMake build system #244
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 --no-install-recommends zlib1g-dev pkg-config libgmp-dev curl ninja-build | |
- name: Check out repository code | |
uses: actions/checkout@HEAD | |
with: | |
submodules: true | |
- name: Ensure pre-commit checks pass | |
run: python3 -m pip install pre-commit && pre-commit run --all-files --show-diff-on-failure --color=always | |
- name: Install sail from binary | |
run: | | |
sudo mkdir -p /usr/local | |
curl --location https://github.com/rems-project/sail/releases/download/0.18-linux-binary/sail.tar.gz | sudo tar xvz --directory=/usr/local --strip-components=1 | |
- name: Build and test simulators | |
run: | | |
mkdir build | |
cd build | |
cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. | |
ninja | |
ctest --output-junit text.xml | |
- name: Upload test results | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests.xml | |
path: build/tests.xml | |
- name: Upload event payload | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: event.json | |
path: ${{ github.event_path }} |