Skip to content

Feature/qt6

Feature/qt6 #581

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.12.2]
# include:
# - os: windows-latest
# python-version: 3.9.7
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Cache Qt
id: cache-qt
uses: actions/cache@v4
with:
path: ../Qt
key: ${{ runner.os }}-QtCache
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
cached: ${{ steps.cache-qt.outputs.cache-hit }}
- name: Install Linux dependencies
if: startsWith(matrix.os, 'ubuntu')
env:
USECURL: 7.79.0-openssl11-gssapi-libssh2
USESSL: openssl
USEOPENSSL: 1.1.1d
run: |
sudo apt-get install libcurl4-gnutls-dev libgnutls28-dev
shell: bash
- name: Install Windows dependencies
if: startsWith(matrix.os, 'windows')
run: |
pip3 install tests/pycurl-7.43.0.5-cp39-cp39-win_amd64.whl
shell: cmd
- name: Install macOS dependencies
if: startsWith(matrix.os, 'macos')
env:
LDFLAGS: "-L/usr/local/opt/openssl/lib"
CPPFLAGS: "-I/usr/local/opt/openssl/include"
PYCURL_SSL_LIBRARY: openssl
run: |
brew upgrade
brew uninstall --ignore-dependencies curl
brew install openssl
brew install curl
pip3 install wheel
pip3 install pycurl
- name: Install python dependencies
run: |
pip3 install --upgrade wheel
pip3 install -r requirements.txt
pip3 install -r requirements_dev.txt
- name: Execute tests and coverage report
env:
QT_QPA_PLATFORM: offscreen
run: |
invoke coverage --gui
- name: Lint
# FIXME: replace with platform-agnostic method to check pylint exit code
if: matrix.os != 'windows-latest'
run: |
invoke lint || pylint-exit $?
- name: Upload code coverage report to Coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
coveralls --service=github