tests: test mail attachments mimetypes #798
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 apt dependencies | |
run: | | |
sudo apt update | |
sudo DEBIAN_FRONTEND=noninteractive apt --yes --quiet install apparmor-utils libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils | |
- name: App armor configuration for slapd | |
if: ${{ !env.ACT }} | |
run: sudo aa-complain /usr/sbin/slapd | |
- run: | | |
# python tzinfo fails on 'act' without this | |
ulimit -n 1024 | |
export TZ=UTC | |
poetry --version | |
poetry install --extras all | |
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' | |
- name: Install apt dependencies | |
run: | | |
sudo apt update | |
sudo DEBIAN_FRONTEND=noninteractive apt --yes --quiet install apparmor-utils libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils | |
- name: App armor configuration for slapd | |
if: ${{ !env.ACT }} | |
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: | | |
# python tzinfo fails on 'act' without this | |
ulimit -n 1024 | |
export TZ=UTC | |
poetry --version | |
poetry lock | |
poetry install --extras all | |
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' | |
- name: Install apt dependencies | |
run: | | |
sudo apt update | |
sudo DEBIAN_FRONTEND=noninteractive apt --yes --quiet install libsasl2-dev python3-dev libldap2-dev libssl-dev slapd ldap-utils | |
- run: | | |
export TZ=UTC | |
poetry install --with doc | |
poetry run sphinx-build doc build/sphinx/html |