Skip to content

Bump pytest-check from 2.3.1 to 2.4.1 #53

Bump pytest-check from 2.3.1 to 2.4.1

Bump pytest-check from 2.3.1 to 2.4.1 #53

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python Tests
on:
push:
branches:
- main
- 'release/**'
pull_request:
branches:
- main
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 14
strategy:
fail-fast: false
matrix:
name:
[
# latest conan 1.X on U20 and Windows
"ubuntu20-py38-conan1-latest",
"ubuntu20-py39-conan1-latest",
"ubuntu20-py310-conan1-latest",
"windows-py311-conan1-latest",
# conan minimum version with python minimum version
"ubuntu20-py38-conan1.48",
# conan 2 stuff with bleeding edge - use Python 3.12 (U22 needed)
"ubuntu22-py310-conan2.3", # 2.3 API changes
"ubuntu22-py312-conan2-latest", # post 2.3 API changes
"windows-py312-conan2-latest", # latest everything
]
include:
- name: "ubuntu20-py38-conan1-latest"
python: "3.8"
os: ubuntu-20.04
conan: "<2"
conan_server: "<2"
- name: "ubuntu20-py39-conan1-latest"
python: "3.9"
conan: "<2"
conan_server: "<2"
os: ubuntu-20.04
- name: "ubuntu20-py310-conan1-latest"
python: "3.10"
conan: "<2"
conan_server: "<2"
os: ubuntu-20.04
- name: "windows-py311-conan1-latest"
python: "3.11"
os: windows-latest
conan: "<2"
conan_server: "<2"
- name: "ubuntu20-py38-conan1.48"
python: "3.8"
os: ubuntu-20.04
conan: "==1.48.0"
conan_server: "==1.48.0"
- name: "ubuntu22-py310-conan2.3"
python: "3.10"
os: ubuntu-22.04
conan: <2.4
conan_server: "-server <2.4"
- name: "ubuntu22-py312-conan2-latest"
python: "3.12"
os: ubuntu-22.04
conan: <2.5
conan_server: "-server <2.5"
- name: windows-py312-conan2-latest
python: "3.12"
os: windows-latest
conan: <2.5 # latest conan 2
conan_server: "-server <2.5"
env:
DISPLAY: ":99.0"
LC_ALL: "en_US.UTF-8"
CONAN_REVISIONS_ENABLED: 1
CAL_DEBUG_LEVEL: 2 # this does not use Qt Threads, but enables to see stacktraces
# QT_LOGGING_RULES=: "*.debug=true"
# QT_DEBUG_PLUGINS: 1
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: 'pip' # caching pip dependencies
cache-dependency-path: setup.py
- name: Install specific Conan version
run: | # markupsafe is a workaround fix for broken conan dependencies
pip install markupsafe==2.0.1 --use-pep517
pip install "conan${{ matrix.conan }}" --use-pep517
pip install "conan${{ matrix.conan_server }}" --use-pep517
- name: Install own package and test dependencies
# need -e because of coverage paths.
run: |
pip install -e .[test]
env:
CONAN_VERSION: ${{ matrix.conan}}
- name: Execute unitests with pytest
run: >-
pytest -v test --junit-xml=./results/result-unit-${{matrix.name}}.xml
--cov=conan_unified_api --cov-branch --cov-append --capture=no
- name: Upload Test results
uses: actions/upload-artifact@v3 # TODO: v4 does not support overwrite anymore
with:
name: Test results
path: |
cov/
results/
# sonarcloud:
# if: always() # eecute, even when tests fail
# needs:
# - test
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v4
# with:
# # Disabling shallow clone is recommended for improving relevancy of reporting,
# # cf https://sonarcloud.io/project/configuration?analysisMode=GitHubActions
# fetch-depth: 0
# - uses: actions/download-artifact@v3
# with:
# name: Test results
# path: ./
# - name: Fix code coverage paths
# working-directory: ./cov
# run: |
# sed -i 's@/home/runner/work/conan_explorer/conan_explorer@.@g' cov-*.xml
# sed -i 's@D:\a\conan_explorer\conan_explorer@.@g' cov-*.xml
# - name: SonarCloud Scan
# uses: sonarsource/sonarcloud-github-action@master
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# with:
# args: >
# -Dsonar.organization=goszpeti
# -Dsonar.projectKey=goszpeti_conan_unified_api
# -Dsonar.sources=./src
# -Dsonar.exclusions=**/*_ui.py
# -Dsonar.tests=./test
# -Dsonar.sourceEncoding=UTF-8
# -Dsonar.python.version=3.8,3.9,3.10,3.11
# -Dsonar.python.coverage.reportPaths=cov/cov-*.xml
# -Dsonar.python.xunit.reportPath=results/result-*-ubuntu-py39.xml