Debian: bump Standards-Version to 4.7.0 #12209
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: Tests | |
on: [push, pull_request] | |
jobs: | |
python: | |
strategy: | |
fail-fast: false | |
matrix: | |
python: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.6', 'pypy-3.7', 'pypy-3.8', 'pypy-3.9', 'pypy-3.10'] | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
cache: 'pip' | |
cache-dependency-path: setup.py | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install gettext gir1.2-gtk-3.0 libgirepository1.0-dev libgtk-3-bin | |
python -m pip install build .[tests] | |
- name: PEP 8 style checks | |
run: python -m pycodestyle | |
- name: Linting | |
run: python -m pylint --recursive=y . | |
- name: Integration and unit tests | |
run: python -m unittest -v | |
- name: Build | |
run: python -m build | |
ubuntu-debian: | |
strategy: | |
fail-fast: false | |
matrix: | |
container: ['debian:bookworm', 'ubuntu:jammy', 'ubuntu:focal', 'ubuntu:bionic', 'ubuntu:noble'] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install autopkgtest dependencies | |
run: | | |
apt update | |
apt -y install autopkgtest | |
- name: Run autopkgtest | |
run: autopkgtest . -- null | |
fedora: | |
strategy: | |
matrix: | |
container: ['fedora:rawhide'] | |
gtk: [3, 4] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: dnf -y install gettext gtk${{ matrix.gtk }} pylint python3 python3-build python3-gobject python3-pycodestyle util-linux | |
- name: PEP 8 style checks | |
run: python3 -m pycodestyle | |
- name: Linting | |
run: python3 -m pylint --recursive=y . | |
- name: Integration and unit tests | |
run: python3 -m unittest -v | |
- name: Build | |
run: python3 -m build | |
windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
arch: [x86_64] | |
defaults: | |
run: | |
shell: msys2 {0} | |
env: | |
NICOTINE_GTK_VERSION: 4 | |
NICOTINE_LIBADWAITA: 1 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup msys2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
release: false | |
update: true | |
install: >- | |
mingw-w64-${{ matrix.arch }}-ca-certificates | |
mingw-w64-${{ matrix.arch }}-gettext-tools | |
mingw-w64-${{ matrix.arch }}-gtk${{ env.NICOTINE_GTK_VERSION }} | |
mingw-w64-${{ matrix.arch }}-libadwaita | |
mingw-w64-${{ matrix.arch }}-python-build | |
mingw-w64-${{ matrix.arch }}-python-cx-freeze | |
mingw-w64-${{ matrix.arch }}-python-pycodestyle | |
mingw-w64-${{ matrix.arch }}-python-pylint | |
mingw-w64-${{ matrix.arch }}-python-gobject | |
- name: Install additional dependencies | |
run: python3 packaging/windows/dependencies.py | |
- name: PEP 8 style checks | |
run: python3 -m pycodestyle | |
- name: Linting | |
run: python3 -m pylint --recursive=y . | |
- name: Integration and unit tests | |
run: python3 -m unittest -v | |
- name: Build | |
run: python3 -m build | |
macos: | |
strategy: | |
matrix: | |
include: | |
- arch: x86_64 | |
platform: macos-12 | |
- arch: arm64 | |
platform: macos-14 | |
runs-on: ${{ matrix.platform }} | |
env: | |
NICOTINE_GTK_VERSION: 4 | |
NICOTINE_LIBADWAITA: 1 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set system language | |
run: defaults write NSGlobalDomain AppleLanguages "(en-US)" | |
- name: Create Python virtual environment | |
run: | | |
brew uninstall --ignore-dependencies python@3.12 | |
brew install --overwrite python@3.12 | |
python3.12 -m venv venv | |
- name: Install dependencies | |
run: | | |
brew update | |
venv/bin/python3 packaging/macos/dependencies.py | |
- name: PEP 8 style checks | |
run: venv/bin/python3 -m pycodestyle | |
- name: Linting | |
run: venv/bin/python3 -m pylint --recursive=y . | |
- name: Integration and unit tests | |
run: venv/bin/python3 -m unittest -v | |
- name: Build | |
run: venv/bin/python3 -m build |