Skip to content

Test authorization properties with CrossHair #5404

Test authorization properties with CrossHair

Test authorization properties with CrossHair #5404

Workflow file for this run

---
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
# * is a special character in YAML so you have to quote this string
# Run at 1:00 every day
- cron: 0 1 * * *
permissions: {}
jobs:
build:
strategy:
matrix:
python-version: ['3.14']
platform: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v7 # Avoid issues with depending on a particular version of this
# package from another package.
# We need our tags in order to calculate the version.
# See https://github.com/astral-sh/uv/issues/8148.
with:
persist-credentials: false
fetch-depth: 0
fetch-tags: true
- name: Install uv
uses: astral-sh/setup-uv@v10.1.0
with:
enable-cache: true
cache-dependency-glob: '**/pyproject.toml'
- name: Run tests
run: |
# We run tests against "." and not the tests directory as we test the README
# and documentation.
uv run --group=dev pytest -s -vvv --cov-fail-under 100 --cov=src/ --cov=tests .
env:
UV_PYTHON: ${{ matrix.python-version }}
crosshair:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
fetch-depth: 0
fetch-tags: true
- name: Install uv
uses: astral-sh/setup-uv@v10.1.0
with:
enable-cache: true
cache-dependency-glob: '**/pyproject.toml'
- name: Run property tests with CrossHair
run: |
uv run --group=dev --group=crosshair pytest -vvv tests/test_vws_auth_tools.py
env:
HYPOTHESIS_BACKEND: crosshair
UV_PYTHON: '3.14'
completion-ci:
needs: [build, crosshair]
runs-on: ubuntu-latest
if: always() # Run even if one matrix job fails
steps:
- name: Check matrix job status
run: |-
if ! ${{ needs.build.result == 'success' && needs.crosshair.result == 'success' }}; then
echo "One or more matrix jobs failed"
exit 1
fi