--- 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: Update apt repositories run: sudo apt update - name: Install apt dependencies 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 --version - run: poetry install --extras all - run: poetry run pytest 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' - name: Update apt repositories run: sudo apt update - name: Install apt dependencies 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 - run: poetry run pytest style: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - uses: pre-commit/action@v3.0.1 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' - name: Update apt repositories run: sudo apt update - name: Install apt dependencies 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