Skip to content

Attempt to make codecov less important #731

Attempt to make codecov less important

Attempt to make codecov less important #731

Workflow file for this run

name: main
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ci-main-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
PYTEST_ADDOPTS: "--color=yes"
# Set permissions at the job level.
permissions: {}
jobs:
test:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow_failure }}
timeout-minutes: 5
permissions:
contents: read
strategy:
fail-fast: false
matrix:
include:
- name: linting,docs
python: '3.13'
allow_failure: false
- name: py313-dj52-postgres-xdist-coverage
python: '3.13'
allow_failure: false
- name: py313-dj51-postgres-xdist-coverage
python: '3.13'
allow_failure: false
- name: py312-dj42-postgres-xdist-coverage
python: '3.12'
allow_failure: false
- name: py311-dj50-postgres-xdist-coverage
python: '3.11'
allow_failure: false
- name: py311-dj42-postgres-xdist-coverage
python: '3.11'
allow_failure: false
- name: py310-dj52-postgres-xdist-coverage
python: '3.10'
allow_failure: false
- name: py310-dj51-postgres-xdist-coverage
python: '3.10'
allow_failure: false
- name: py310-dj42-postgres-xdist-coverage
python: '3.10'
allow_failure: false
- name: py311-dj51-mysql-coverage
python: '3.11'
allow_failure: false
- name: py310-dj42-mysql-coverage
python: '3.10'
allow_failure: false
- name: py39-dj42-mysql-xdist-coverage
python: '3.9'
allow_failure: false
- name: py313-djmain-sqlite-coverage
python: '3.13'
allow_failure: true
- name: py313-dj52-sqlite-coverage
python: '3.13'
allow_failure: true
- name: py312-dj51-sqlite-xdist-coverage
python: '3.12'
allow_failure: false
- name: py311-dj42-sqlite-xdist-coverage
python: '3.11'
allow_failure: false
- name: pypy3-dj42-postgres-coverage
python: 'pypy3.9'
allow_failure: false
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Setup mysql
if: contains(matrix.name, 'mysql')
run: |
sudo systemctl start mysql.service
echo "TEST_DB_USER=root" >> $GITHUB_ENV
echo "TEST_DB_PASSWORD=root" >> $GITHUB_ENV
- name: Setup postgresql
if: contains(matrix.name, 'postgres')
run: |
sudo systemctl start postgresql.service
sudo -u postgres createuser --createdb $USER
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox==4.26.0
- name: Run tox
run: tox -e ${{ matrix.name }}
- name: Prepare coverage file for upload
if: contains(matrix.name, 'coverage')
run: |
ls -lash
mv .coverage .coverage.${{ matrix.name }}
- name: Upload temporary coverage artifact
if: contains(matrix.name, 'coverage')
uses: actions/upload-artifact@v4
with:
name: coverage-artifact-${{ matrix.name }}
path: .coverage.${{ matrix.name }}
retention-days: 1
# report-coverage:
# name: Report Combined Coverage
# runs-on: ubuntu-latest
# needs: test
# if: always()
# permissions:
# contents: read
# actions: read
# steps:
# - uses: actions/checkout@v4
# with:
# persist-credentials: false
# - uses: actions/setup-python@v5
# with:
# python-version: '3.11'
# - name: Install coverage tool
# run: python -m pip install coverage[toml]
# - name: Download all coverage artifacts
# uses: actions/download-artifact@v4
# with:
# path: downloaded-coverage-artifacts
# pattern: coverage-artifact-*
# - name: Combine coverage reports
# run: |
# mkdir combined_coverage_data
# find downloaded-coverage-artifacts -type f -name '.coverage.*' -exec cp {} combined_coverage_data/ \;
# echo "Files in combined_coverage_data for combining:"
# ls -R combined_coverage_data
# cd combined_coverage_data
# coverage combine --keep
# echo "Combined .coverage file generated. Generating XML report."
# coverage xml -o ../coverage.xml
# cd ..
# echo "Generated coverage.xml in workspace root:"
# ls -l coverage.xml
# - name: Report coverage to Codecov
# uses: codecov/codecov-action@v5
# with:
# files: ./coverage.xml
# token: ${{ secrets.CODECOV_TOKEN }}
# fail_ci_if_error: true
# verbose: true
# check:
# if: always()
# needs:
# - report-coverage
# runs-on: ubuntu-latest
# steps:
# - name: Decide whether the needed jobs succeeded or failed
# uses: re-actors/alls-green@223e4bb7a751b91f43eda76992bcfbf23b8b0302
# with:
# jobs: ${{ toJSON(needs) }}