name: CI on: push: workflow_dispatch: jobs: lint: runs-on: ubuntu-latest name: Linting continue-on-error: "${{ github.ref != 'refs/heads/master' }}" steps: - name: Checkout uses: actions/checkout@v7 - name: Set up Python uses: actions/setup-python@v7 with: python-version: '3.x' - name: Run black uses: psf/black@stable test: strategy: matrix: python-version: - '3.9' - '3.10' - '3.11' - '3.12' - '3.13' - '3.14' - '3.x' runs-on: ubuntu-latest name: 'Python ${{ matrix.python-version }}' steps: - name: Checkout uses: actions/checkout@v7 with: submodules: recursive - name: Set up Python uses: actions/setup-python@v7 with: python-version: '${{ matrix.python-version }}' - name: Run tests as root run: sudo ./test/runner/main.sh - name: Run tests run: ./test/runner/main.sh aur: name: Publish to AUR needs: - lint - test runs-on: ubuntu-latest if: | startsWith(github.ref, 'refs/tags/') && !startsWith(github.ref, 'refs/tags/debian/') container: image: archlinux:base-devel env: SSH_KEY: | ${{ secrets.SSH_KEY }} steps: # This step must be done before actions/checkout. From the latter's # output: # # To create a local Git repository instead, add Git 2.18 or higher to the PATH # - name: Install dependencies run: | pacman -Syu --noconfirm git openssh - name: Checkout uses: actions/checkout@v7 with: ref: aur submodules: recursive token: '${{ secrets.GH_TOKEN }}' - name: Run maintenance run: | make -C "$GITHUB_WORKSPACE" ci