diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 06d0b2ed..3e3832dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,21 +1,17 @@ ---- name: CI on: push: pull_request: - schedule: - # every Monday - - cron: '30 4 * * 1' workflow_dispatch: permissions: contents: read jobs: - distros: - name: "Ubuntu with Python ${{ matrix.python-version }}" - runs-on: "${{ matrix.image }}" + test_ubuntu: + name: "Test with Python ${{ matrix.python-version }} on ${{ matrix.image }}" + runs-on: ${{ matrix.image }} strategy: fail-fast: false matrix: @@ -31,24 +27,48 @@ jobs: - "ubuntu-22.04" steps: - name: Checkout - uses: "actions/checkout@v4" + uses: actions/checkout@v5 - name: Install apt dependencies - run: | - set -ex - sudo apt update - sudo apt install -y ldap-utils slapd enchant-2 libldap2-dev libsasl2-dev apparmor-utils + run: > + sudo apt-get update && + sudo apt-get install -y ldap-utils slapd enchant-2 libldap2-dev libsasl2-dev apparmor-utils - name: Disable AppArmor run: sudo aa-disable /usr/sbin/slapd - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + - name: Setup uv + uses: astral-sh/setup-uv@v7 with: + version: "0.9" python-version: ${{ matrix.python-version }} - allow-prereleases: true - - name: "Install Python dependencies" - run: | - set -xe - python -V - python -m pip install --upgrade pip setuptools - python -m pip install --upgrade tox tox-gh-actions - - name: "Test tox with Python ${{ matrix.python-version }}" - run: "python -m tox" + activate-environment: true + - name: Install Python dependencies + run: > + uv pip install --upgrade pip setuptools tox tox-gh-actions + - name: Test + run: python -m tox + + test_fedora: + name: "Test with tox env ${{ matrix.tox_env }} on Fedora" + runs-on: ubuntu-22.04 + strategy: + matrix: + tox_env: + - py39 + - py310 + - py311 + - py312 + - py313 + - py3-nosasltls + - py3-trace + - pypy3 + - doc + steps: + - name: Checkout + uses: actions/checkout@v5 + - name: Test + uses: fedora-python/tox-github-action@v41.0 + with: + tox_env: ${{ matrix.tox_env }} + dnf_install: > + @c-development openldap-devel python3-devel + openldap-servers openldap-clients lcov clang-analyzer valgrind + enchant python3-setuptools diff --git a/.github/workflows/tox-fedora.yml b/.github/workflows/tox-fedora.yml deleted file mode 100644 index bc6f45c5..00000000 --- a/.github/workflows/tox-fedora.yml +++ /dev/null @@ -1,35 +0,0 @@ -on: [push, pull_request] - -name: Tox on Fedora - -permissions: - contents: read - -jobs: - tox_test: - name: Tox env "${{matrix.tox_env}}" on Fedora - steps: - - uses: actions/checkout@v4 - - name: Run Tox tests - uses: fedora-python/tox-github-action@main - with: - tox_env: ${{ matrix.tox_env }} - dnf_install: > - @c-development openldap-devel python3-devel - openldap-servers openldap-clients lcov clang-analyzer valgrind - enchant python3-setuptools - strategy: - matrix: - tox_env: - - py39 - - py310 - - py311 - - py312 - - py313 - - py3-nosasltls - - py3-trace - - pypy3 - - doc - - # Use GitHub's Linux Docker host - runs-on: ubuntu-22.04