Skip to content

Fix GTK version comparison #12207

Fix GTK version comparison

Fix GTK version comparison #12207

Workflow file for this run

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