Skip to content

Update main.yml

Update main.yml #255

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
tests:
name: Python ${{ matrix.python-version }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
python-version:
- 3.8
- 3.9
- '3.10'
- '3.11'
- '3.12'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
cache: pip
cache-dependency-path: 'requirements/*.txt'
# - uses: actions/cache@v3
# with:
# path: ~/.cache/pip
# key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
# restore-keys: |
# ${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel coverage
python -m pip install --upgrade 'tox>=4.0.0rc3'
- name: Run tox targets for ${{ matrix.python-version }}
run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d .)
# - name: Upload coverage data
# uses: actions/upload-artifact@v4
# with:
# name: sm-coverage-data
# path: '.coverage.*'
- name: Upload coverage data
uses: actions/upload-artifact@v4
with:
name: coverage-data-${{ matrix.python-version }}
path: '${{ github.workspace }}/.coverage.*'
include-hidden-files: true
if-no-files-found: error
- name: Merge coverage reports
id: coverage
uses: selfagency/[email protected]
with:
source: ${{ github.workspace }}/${{ inputs.package }}
coverage-reports: ${{ github.workspace }}/${{ inputs.package }}/coverage
output-folder: ${{ github.workspace }}/${{ inputs.package }}/coverage-reports
formats: html
artifacts: false
# coverage:
# name: Coverage
# runs-on: ubuntu-24.04
# needs: tests
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: '3.12'
#
# - name: Install dependencies
# run: python -m pip install --upgrade coverage[toml]
#
# - name: Download data
# uses: actions/download-artifact@v4
# with:
# name: sm-coverage-data
# path: '.coverage.*'
# overwrite: true
# merge-multiple: true
#
# - name: Combine coverage and fail if it's <85 should be 100% but I have not completed the tests yet
# run: |
# python -m coverage combine
# python -m coverage html --skip-covered --skip-empty
# python -m coverage report --fail-under=85
# echo "## Coverage summary" >> $GITHUB_STEP_SUMMARY
# python -m coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
#
# - name: Upload HTML report
# if: ${{ failure() }}
# uses: actions/upload-artifact@v4
# with:
# name: html-report
# path: htmlcov