Skip to content

Point release adding a dotnet wrapper. #316

Point release adding a dotnet wrapper.

Point release adding a dotnet wrapper. #316

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']}}
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
env:
CXX: g++-14
- 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/*
- 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}}
CXX: g++-14
- 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: Get dependencies
run: |
sudo apt-get install dotnet-sdk-8.0
- 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 build -v n
dotnet test -v n
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
CXX: g++-14
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}}
CXX: g++-14
linux-wrappers-python:
runs-on: ubuntu-latest
strategy:
matrix:
python_version: ["3.9", "3.10", "3.11", "3.12"]
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}}
CXX: g++-14
- 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: 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 build -v n
dotnet test -v n
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: ubuntu-latest
strategy:
matrix:
python_version: ["3.9", "3.10", "3.11", "3.12"]
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:
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
env:
CXX: g++-14
CC: gcc-14
- 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-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}}
CXX: g++-14
CC: gcc-14
- 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-wrappers-dotnet:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
brew update && brew install dotnet@8
- 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 build -v n
dotnet test -v n
env:
REGOCPP_REPO: https://github.com/${{github.repository}}
REGOCPP_TAG: ${{github.sha}}
CXX: g++-14
CC: gcc-14
macos-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-wrappers-python:
runs-on: macos-latest
strategy:
matrix:
python_version: ["3.10", "3.11", "3.12"]
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}}
MACOSX_DEPLOYMENT_TARGET: 11.0
CXX: g++-14
CC: gcc-14
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv