Skip to content

Version 1.2.0

Version 1.2.0 #390

Workflow file for this run

name: PR Gate
on:
pull_request:
branches: ["main"]
workflow_dispatch:
jobs:
cpp-format:
runs-on: ubuntu-latest
strategy:
matrix:
path:
- check: src
exclude: (/base64/)
- check: tests
exclude: ''
- check: tools
exclude: ''
- check: examples/c
- check: examples/cpp
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run clang-format style check
uses: jidicula/[email protected]
with:
clang-format-version: '18'
check-path: ${{matrix.path['check']}}
exclude-regex: ${{matrix.path['exclude']}}
ubuntu2204:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-opa -G Ninja
- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-opa -G Ninja
- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
linux-asan:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-clang-opa -DREGOCPP_SANITIZE=address
- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
linux-wrappers-c:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
echo "${{github.ref}}"
echo "${{github.ref_name}}"
- name: CMake config
working-directory: ${{github.workspace}}/examples/c
run: cmake -B ${{github.workspace}}/examples/c/build --preset release -G Ninja
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.ref}}
- name: CMake build
working-directory: ${{github.workspace}}/examples/c/build
run: ninja install
- name: CMake test
working-directory: ${{github.workspace}}/examples/c/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
linux-wrappers-dotnet:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: dotnet test
working-directory: ${{github.workspace}}/wrappers/dotnet/
run: |
dotnet test -v n /p:Multitarget=true
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
linux-wrappers-rust:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
sudo apt-get install cargo rustc
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Cargo test
working-directory: ${{github.workspace}}/wrappers/rust/regorust/
run: cargo test -vv
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
linux-wrappers-python:
runs-on: ubuntu-latest
strategy:
matrix:
python_version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
- name: Get dependencies
run: |
python -m pip install --upgrade pip
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Python build
working-directory: ${{github.workspace}}/wrappers/python/
run: pip install -e .[dev]
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv
linux-cheriot:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: CHERIoT-Platform/cheriot-audit
path: cheriot-audit
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: CMake config
working-directory: ${{github.workspace}}/cheriot-audit
run: cmake -B ${{github.workspace}}/cheriot-audit/build -DCMAKE_BUILD_TYPE=Release -G Ninja
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: CMake build
working-directory: ${{github.workspace}}/cheriot-audit/build
run: NINJA_STATUS="%p [%f:%s/%t] %o/s, %es" && ninja
- name: CMake test
working-directory: ${{github.workspace}}/cheriot-audit/build
run: ctest -j4 --output-on-failure
windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: CMake config
run: |
cmake -B ${{github.workspace}}/build --preset release-opa
- name: CMake build
working-directory: ${{github.workspace}}/build
run: cmake --build . --config Release
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
windows-wrappers-c:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch "+refs/pull/*/merge:refs/remotes/pull/*"
- name: CMake config
working-directory: ${{github.workspace}}/examples/c
run: cmake -B ${{github.workspace}}/examples/c/build --preset release
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: CMake build
working-directory: ${{github.workspace}}/examples/c/build
run: cmake --build . --config Release --target INSTALL
- name: CMake test
working-directory: ${{github.workspace}}/examples/c/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
windows-wrappers-dotnet:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch "+refs/pull/*/merge:refs/remotes/pull/*"
- name: dotnet test
working-directory: ${{github.workspace}}/wrappers/dotnet/
run: |
dotnet test -v n /p:Multitarget=true
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
windows-wrappers-rust:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch "+refs/pull/*/merge:refs/remotes/pull/*"
- name: Cargo test
working-directory: ${{github.workspace}}/wrappers/rust/regorust
run: cargo test -vv
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
windows-wrappers-python:
runs-on: windows-latest
strategy:
matrix:
python_version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
architecture: x64
- name: Get dependencies
run: |
python -m pip install --upgrade pip
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Python build
working-directory: ${{github.workspace}}/wrappers/python/
run: pip install -e .[dev]
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv
macos-arm64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
brew update && brew install ninja
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-opa -G Ninja
- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
macos-arm64-wrappers-c:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
brew update && brew install ninja
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: CMake config
working-directory: ${{github.workspace}}/examples/c
run: cmake -B ${{github.workspace}}/examples/c/build --preset release -G Ninja
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: CMake build
working-directory: ${{github.workspace}}/examples/c/build
run: ninja install
- name: CMake test
working-directory: ${{github.workspace}}/examples/c/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
macos-arm64-wrappers-dotnet:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: dotnet test
working-directory: ${{github.workspace}}/wrappers/dotnet/
run: |
dotnet test -v n /p:Multitarget=true
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
macos-arm64-wrappers-rust:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
brew update && brew install rust
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Cargo test
working-directory: ${{github.workspace}}/wrappers/rust/regorust/
run: cargo test -vv
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
macos-arm64-wrappers-python:
runs-on: macos-latest
strategy:
matrix:
python_version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
- name: Get dependencies
run: |
python -m pip install --upgrade pip
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Python build
working-directory: ${{github.workspace}}/wrappers/python/
run: pip install -e .[dev] --verbose
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv
macos-x86_64:
runs-on: macos-15-intel
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
brew update && brew install ninja
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-opa -G Ninja
- name: CMake build
working-directory: ${{github.workspace}}/build
run: ninja
- name: CMake test
working-directory: ${{github.workspace}}/build
run: ctest -V --build-config Release --timeout 120 --output-on-failure -T Test
macos-x86_64-wrappers-dotnet:
runs-on: macos-15-intel
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use dotnet
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: dotnet test
working-directory: ${{github.workspace}}/wrappers/dotnet/
run: |
dotnet test -v n /p:Multitarget=true
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
macos-x86_64-wrappers-python:
runs-on: macos-15-intel
strategy:
matrix:
python_version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
- name: Get dependencies
run: |
python -m pip install --upgrade pip
- name: Git config for fetching pull requests
run: |
git config --global --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/pull/*
- name: Python build
working-directory: ${{github.workspace}}/wrappers/python/
run: pip install -e .[dev] --verbose
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv