Skip to content

Addressing some issues in the Python and Rust wrappers. #286

Addressing some issues in the Python and Rust wrappers.

Addressing some issues in the Python and Rust wrappers. #286

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/clang-format-action@v4.8.0
with:
clang-format-version: '13'
check-path: ${{matrix.path['check']}}
exclude-regex: ${{matrix.path['exclude']}}
linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: mjp41/workaround8649@c8550b715ccdc17f89c8d5c28d7a48eeff9c94a8
- name: Get dependencies
run: |
sudo apt-get install ninja-build
- name: CMake config
run: cmake -B ${{github.workspace}}/build --preset release-clang-opa
- 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
- uses: mjp41/workaround8649@c8550b715ccdc17f89c8d5c28d7a48eeff9c94a8
- 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
- uses: mjp41/workaround8649@c8550b715ccdc17f89c8d5c28d7a48eeff9c94a8
- 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-clang
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
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.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}}
- 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
- uses: mjp41/workaround8649@c8550b715ccdc17f89c8d5c28d7a48eeff9c94a8
- 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 -DREGOCPP_TZDATA_PATH=${{github.workspace}}/build
- 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-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-clang-opa
- 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-clang
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-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.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++-12
CC: gcc-12
- name: Python test
working-directory: ${{github.workspace}}/wrappers/python/
run: pytest -vv