-
-
Notifications
You must be signed in to change notification settings - Fork 2
132 lines (129 loc) · 4.08 KB
/
tests.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
---
# The runners use ubuntu-22.04, because ubuntu-24.04 on GHA does not have this fix yet:
# https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2079019
name: tests
on:
push:
branches:
- main
- '*.*.*'
pull_request:
branches:
- main
- '*.*.*'
jobs:
tests:
name: py${{ matrix.python }} unit tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python:
- '3.13'
- '3.12'
- '3.11'
- '3.10'
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- name: Install Python ${{ matrix.python }}
run: uv python install ${{ matrix.python }}
- 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
- name: Run tests
run: |
# python tzinfo fails on 'act' without this
ulimit -n 1024
export TZ=UTC
uv sync --all-extras
uv run pytest --numprocesses auto
minversions:
name: minimum dependency versions
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- name: Install Python 3.10
run: uv python install 3.10
- 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
- name: Run tests
run: |
# python tzinfo fails on 'act' without this
ulimit -n 1024
export TZ=UTC
uv sync --all-extras --resolution=lowest-direct
uv run pytest --numprocesses auto
style:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- name: Run linters
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
- name: Run tests
run: |
# python tzinfo fails on 'act' without this
ulimit -n 1024
export TZ=UTC
uv sync --all-extras
uv run pre-commit run --all-files
bundle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- 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
uv sync --group release --all-extras --no-dev
uv run pyinstaller canaille.spec
./dist/canaille --version
uv cache prune --ci
doc:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- 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
uv sync --group doc --all-extras
uv run playwright install firefox
uv run sphinx-build doc build/sphinx/html --fail-on-warning