diff options
Diffstat (limited to '.github/workflows/builds.yaml')
| -rw-r--r-- | .github/workflows/builds.yaml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml new file mode 100644 index 0000000..f6a62d0 --- /dev/null +++ b/.github/workflows/builds.yaml | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | name: CI for Python versions | ||
| 2 | on: | ||
| 3 | pull_request: | ||
| 4 | push: | ||
| 5 | schedule: | ||
| 6 | - cron: '0 16 * * 5' | ||
| 7 | |||
| 8 | jobs: | ||
| 9 | linting: | ||
| 10 | runs-on: ubuntu-latest | ||
| 11 | steps: | ||
| 12 | - uses: actions/checkout@v5 | ||
| 13 | - uses: actions/setup-python@v5 | ||
| 14 | - run: pip install ruff | ||
| 15 | - run: | | ||
| 16 | ruff check . | ||
| 17 | build: | ||
| 18 | needs: linting | ||
| 19 | runs-on: ubuntu-latest | ||
| 20 | strategy: | ||
| 21 | matrix: | ||
| 22 | python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14.0-rc.2"] | ||
| 23 | steps: | ||
| 24 | - uses: actions/checkout@v5 | ||
| 25 | - name: Setup Python | ||
| 26 | uses: actions/setup-python@v5 | ||
| 27 | with: | ||
| 28 | python-version: ${{ matrix.python-version }} | ||
| 29 | - name: Install dependencies | ||
| 30 | run: | | ||
| 31 | sudo apt-get install --no-install-recommends --no-install-suggests --yes \ | ||
| 32 | ffmpeg \ | ||
| 33 | gir1.2-gdkpixbuf-2.0 \ | ||
| 34 | gir1.2-poppler-0.18 \ | ||
| 35 | gir1.2-rsvg-2.0 \ | ||
| 36 | libimage-exiftool-perl \ | ||
| 37 | python3-gi-cairo \ | ||
| 38 | libcairo2-dev \ | ||
| 39 | libgirepository-2.0-dev \ | ||
| 40 | libgirepository1.0-dev \ | ||
| 41 | gobject-introspection \ | ||
| 42 | python3-mutagen | ||
| 43 | pip install . | ||
| 44 | - name: Build and run the testsuite | ||
| 45 | run: python3 -m unittest discover -v | ||
