1- ---
21name : CI
32
43on :
54 push :
65 pull_request :
7- schedule :
8- # every Monday
9- - cron : ' 30 4 * * 1'
106 workflow_dispatch :
117
128permissions :
139 contents : read
1410
1511jobs :
16- distros :
17- name : " Ubuntu with Python ${{ matrix.python-version }}"
18- runs-on : " ${{ matrix.image }}"
12+ test_ubuntu :
13+ name : " Test with Python ${{ matrix.python-version }} on ${{ matrix.image }}"
14+ runs-on : ${{ matrix.image }}
1915 strategy :
2016 fail-fast : false
2117 matrix :
@@ -31,24 +27,48 @@ jobs:
3127 - " ubuntu-22.04"
3228 steps :
3329 - name : Checkout
34- uses : " actions/checkout@v4 "
30+ uses : actions/checkout@v5
3531 - name : Install apt dependencies
36- run : |
37- set -ex
38- sudo apt update
39- sudo apt install -y ldap-utils slapd enchant-2 libldap2-dev libsasl2-dev apparmor-utils
32+ run : >
33+ sudo apt-get update &&
34+ sudo apt-get install -y ldap-utils slapd enchant-2 libldap2-dev libsasl2-dev apparmor-utils
4035 - name : Disable AppArmor
4136 run : sudo aa-disable /usr/sbin/slapd
42- - name : Set up Python ${{ matrix.python-version }}
43- uses : actions /setup-python@v5
37+ - name : Setup uv
38+ uses : astral-sh /setup-uv@v7
4439 with :
40+ version : " 0.9"
4541 python-version : ${{ matrix.python-version }}
46- allow-prereleases : true
47- - name : " Install Python dependencies"
48- run : |
49- set -xe
50- python -V
51- python -m pip install --upgrade pip setuptools
52- python -m pip install --upgrade tox tox-gh-actions
53- - name : " Test tox with Python ${{ matrix.python-version }}"
54- run : " python -m tox"
42+ activate-environment : true
43+ - name : Install Python dependencies
44+ run : >
45+ uv pip install --upgrade pip setuptools tox tox-gh-actions
46+ - name : Test
47+ run : python -m tox
48+
49+ test_fedora :
50+ name : " Test with tox env ${{ matrix.tox_env }} on Fedora"
51+ runs-on : ubuntu-22.04
52+ strategy :
53+ matrix :
54+ tox_env :
55+ - py39
56+ - py310
57+ - py311
58+ - py312
59+ - py313
60+ - py3-nosasltls
61+ - py3-trace
62+ - pypy3
63+ - doc
64+ steps :
65+ - name : Checkout
66+ uses : actions/checkout@v5
67+ - name : Test
68+ uses : fedora-python/tox-github-action@v41.0
69+ with :
70+ tox_env : ${{ matrix.tox_env }}
71+ dnf_install : >
72+ @c-development openldap-devel python3-devel
73+ openldap-servers openldap-clients lcov clang-analyzer valgrind
74+ enchant python3-setuptools
0 commit comments