canaille-globuzma/.github/workflows/tests.yaml

88 lines
2.6 KiB
YAML
Raw Normal View History

2022-11-24 14:34:30 +00:00
---
name: tests
on:
push:
branches:
2022-11-24 14:36:57 +00:00
- main
- '*.*.*'
2022-11-24 14:34:30 +00:00
pull_request:
branches:
2022-11-24 14:36:57 +00:00
- main
- '*.*.*'
2022-11-24 14:34:30 +00:00
jobs:
tests:
name: ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python:
- '3.11'
- '3.10'
- '3.9'
- '3.8'
steps:
- uses: actions/checkout@v3
- name: Install Poetry
uses: snok/install-poetry@v1
2023-08-13 11:10:27 +00:00
- uses: actions/setup-python@v3
2022-11-24 14:34:30 +00:00
with:
python-version: ${{ matrix.python }}
2023-08-13 11:10:27 +00:00
cache: 'poetry'
2023-03-09 00:23:26 +00:00
- name: Update apt repositories
run: sudo apt update
2022-11-24 14:53:25 +00:00
- name: Install apt dependencies
2023-03-09 00:23:26 +00:00
run: sudo apt --yes install apparmor-utils libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils
2022-11-24 14:53:25 +00:00
- name: App armor configuration for slapd
run: sudo aa-complain /usr/sbin/slapd
- run: poetry --version
- run: poetry install --extras all
2023-08-13 11:10:27 +00:00
- run: poetry run pytest
minversions:
name: minimum dependency versions
2022-11-24 14:34:30 +00:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Poetry
uses: snok/install-poetry@v1
2023-08-13 11:10:27 +00:00
- uses: actions/setup-python@v3
2022-11-24 14:34:30 +00:00
with:
python-version: '3.8'
2023-08-13 11:10:27 +00:00
cache: 'poetry'
2023-03-09 00:23:26 +00:00
- name: Update apt repositories
run: sudo apt update
- name: Install apt dependencies
2023-03-09 00:23:26 +00:00
run: sudo apt --yes install apparmor-utils libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils
- name: App armor configuration for slapd
run: sudo aa-complain /usr/sbin/slapd
- run: sed -i -E 's/"(\^|>=)([0-9\.]+)(.*)"/"==\2"/' pyproject.toml
- run: sed -i -E 's/python = "==/python = "^/' pyproject.toml
- run: poetry --version
- run: poetry lock
- run: poetry install --extras all
2023-08-13 11:10:27 +00:00
- run: poetry run pytest
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
2022-11-24 14:34:30 +00:00
doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Poetry
uses: snok/install-poetry@v1
2023-08-13 11:10:27 +00:00
- uses: actions/setup-python@v3
2022-11-24 14:34:30 +00:00
with:
python-version: '3.11'
2023-08-13 11:10:27 +00:00
cache: 'poetry'
2023-03-09 00:23:26 +00:00
- name: Update apt repositories
run: sudo apt update
- name: Install apt dependencies
2023-03-09 00:24:46 +00:00
run: sudo apt --yes install apparmor-utils libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils
- name: App armor configuration for slapd
run: sudo aa-complain /usr/sbin/slapd
- run: poetry install --only doc
- run: poetry run sphinx-build doc build/sphinx/html