downstream projects tests with GHA #245
Workflow file for this run
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: tests | |
on: | |
push: | |
branches: | |
- main | |
- '*.*.*' | |
pull_request: | |
branches: | |
- main | |
- '*.*.*' | |
jobs: | |
tests: | |
name: ${{ matrix.python }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python: | |
- '3.12' | |
- '3.11' | |
- '3.10' | |
- '3.9' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
cache: 'poetry' | |
- name: Install dependencies and run tests | |
run: | | |
poetry --version | |
poetry install | |
poetry run pytest --showlocals | |
downstream-tests: | |
name: ${{ matrix.python }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python: | |
- '3.12' | |
- '3.11' | |
downstream: | |
- scim2-client | |
- scim2-server | |
- scim2-cli | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
cache: 'poetry' | |
- name: Install dependencies | |
run: | | |
poetry --version | |
poetry install | |
- name: Checkout downstream pyproject | |
uses: actions/checkout@v4 | |
with: | |
repository: yaal-coop/${{ matrix.downstream }} | |
path: ${{ matrix.downstream }} | |
- name: Run downstream tests | |
run: | | |
cd ${{ matrix.downstream }} | |
poetry install --with test | |
poetry run pip install --upgrade --force ../.. | |
- name: Run downstream tests | |
run: | | |
cd ${{ matrix.downstream }} | |
poetry run pytest --showlocals | |
minversions: | |
name: minimum dependency versions | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
cache: 'poetry' | |
- run: sed -i -E 's/"(\^|>=)([0-9\.]+)([^,]*)"/"==\2"/' pyproject.toml | |
- run: sed -i -E 's/python = "==/python = "^/' pyproject.toml | |
- name: Install dependencies and run tests | |
run: | | |
poetry --version | |
poetry lock | |
poetry install | |
poetry run pytest --showlocals | |
style: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pre-commit/[email protected] | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
cache: 'poetry' | |
- run: | | |
poetry install --with doc | |
poetry run sphinx-build doc build/sphinx/html |