test/migrate: only run check test if there really is one #495
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
name: "python ${{ matrix.python-version }} on ${{ matrix.backend }}" | |
strategy: | |
matrix: | |
# If you change one of these, be sure to update: | |
# - /tox.ini:[gh-actions] | |
# - /pyproject.toml:[tool.mypy] | |
# If adding new python versions, consider also updating | |
# python version in .readthedocs.yaml | |
# TODO: Add back pypy here and in release.yml once: | |
# https://github.com/pypy/pypy/issues/4956 is resolved | |
python-version: ['3.10', '3.11', '3.12', '3.13'] | |
backend: ['x11', 'wayland'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
# Any Wayland-specific Ubuntu system dependencies should be installed from ./scripts/ubuntu_wayland_setup | |
sudo apt install --no-install-recommends \ | |
libdbus-1-dev libgirepository1.0-dev gir1.2-gtk-3.0 gir1.2-notify-0.7 gir1.2-gudev-1.0 graphviz \ | |
imagemagick git xserver-xephyr xterm xvfb dbus-x11 libnotify-bin \ | |
libxcb-composite0-dev libxcb-icccm4-dev libxcb-res0-dev libxcb-render0-dev libxcb-res0-dev \ | |
libxcb-xfixes0-dev vlc volumeicon-alsa libxkbcommon-dev python-gi-dev tox libcairo2-dev \ | |
gir1.2-gdkpixbuf-2.0 librsvg2-dev | |
pip -q install --break-system-packages tox-gh-actions | |
- name: Install wayland | |
if: ${{ matrix.backend == 'wayland' }} | |
run: bash -x ./scripts/ubuntu_wayland_setup | |
- name: Run Tests | |
run: | | |
[ "$(grep -c -P '\t' CHANGELOG)" = "0" ] | |
tox | |
env: | |
BACKEND: ${{ matrix.backend }} | |
- name: Upload coverage data to coveralls.io | |
continue-on-error: true | |
run: | | |
pip -q install coveralls >=3.3.0 | |
coveralls --service=github | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_FLAG_NAME: ${{ format('{0}-{1}', matrix.python-version, matrix.backend) }} | |
COVERALLS_PARALLEL: true | |
COVERALLS_SERVICE_JOB_ID: ${{ github.run_id }} | |
coverage: | |
name: Finalize Coverage | |
needs: build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@main | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true |