Skip to content

Chore wagtail 6 plus - testing CI #2

Chore wagtail 6 plus - testing CI

Chore wagtail 6 plus - testing CI #2

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: "1" # Make tools pretty.
TOX_TESTENV_PASSENV: FORCE_COLOR
PIP_DISABLE_PIP_VERSION_CHECK: "1"
PIP_NO_PYTHON_VERSION_WARNING: "1"
# Keep in sync with .pre-commit-config.yaml/default_language_version/python.
PYTHON_LATEST: "3.11"
jobs:
tests-sqlite:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
db: ['sqlite']
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: ⬇️ Install dependencies
run: |
python -Im pip install --upgrade pip
python -Im pip install flit tox tox-gh-actions
python -Im flit install --symlink
- name: 🏗️ Build wheel
run: python -Im flit build --format wheel
- name: 🧪 Run tox targets for Python ${{ matrix.python-version }}
run: tox --installpkg ./dist/*.whl
- name: ⬆️ Upload coverage data
uses: actions/upload-artifact@v3
with:
name: coverage-data
path: tests/.coverage*
if-no-files-found: ignore
retention-days: 1
tests-postgres:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
db: ['postgres']
services:
postgres:
image: bitnami/postgresql:14
env:
POSTGRES_PASSWORD: postgres
POSTGRESQL_PASSWORD: postgres
POSTGRESQL_FSYNC: "off"
POSTGRESQL_DATA_DIR: /dev/shm/pgdata
ports:
- 5432:5432
options: --health-cmd "pg_isready -d postgres -U postgres -p 5432" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: ⬇️ Install dependencies
run: |
python -Im pip install --upgrade pip
python -Im pip install flit tox tox-gh-actions
python -Im flit install --symlink
- name: 🏗️ Build wheel
run: python -Im flit build --format wheel
- name: 🧪 Run tox targets for Python ${{ matrix.python-version }}
env:
DATABASE_URL: 'postgres://postgres:postgres@localhost:5432/postgres'
run: tox --installpkg ./dist/*.whl
- name: ⬆️ Upload coverage data
uses: actions/upload-artifact@v3
with:
name: coverage-data
path: tests/.coverage*
if-no-files-found: ignore
retention-days: 1
coverage:
runs-on: ubuntu-latest
needs: [tests-sqlite, tests-postgres]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
# Use latest Python, so it understands all syntax.
python-version: ${{env.PYTHON_LATEST}}
- run: python -Im pip install --upgrade coverage[toml]
- name: ⬇️ Download coverage data
uses: actions/download-artifact@v3
with:
name: coverage-data
- name: + Generate report
run: |
python -Im coverage html --skip-covered --skip-empty
python -Im coverage report
echo "## Coverage summary" >> $GITHUB_STEP_SUMMARY
python -Im coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
- name: 📈 Upload HTML report
uses: actions/upload-artifact@v3
with:
name: html-report
path: htmlcov