Skip to content

Combine all code coverages in CI #3398

Combine all code coverages in CI

Combine all code coverages in CI #3398

Workflow file for this run

name: CICD
on:
push:
branches:
- main
pull_request:
branches:
- main
merge_group:
jobs:
test:
name: build + test py${{ matrix.python-version }} on ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: setup python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- name: Install dependencies
run: poetry install --all-extras
- name: run ci checks
run: make ci
- name: Upload coverage
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: ./coverage.xml
- name: build wheel
run: |
poetry version 0.0.0+${{ github.sha }}
poetry build
- name: upload wheel as artifact
uses: actions/upload-artifact@v4
with:
name: wheel-v${{ matrix.python-version }}-${{ matrix.os }}
path: dist/*.whl
# Run tests against pydantic v1 until we drop support.
test-pydantic-v1:
name: test py${{ matrix.python-version }} (pydantic v1) on ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: setup python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- name: Install dependencies
run: |
poetry install --all-extras
poetry run pip install "pydantic<2"
- name: run ci checks
run: make ci
- name: Upload coverage
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: ./coverage.xml
workflow-tests:
name: run workflow tests
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: setup python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.9
cache: "poetry"
- name: Install dependencies
run: poetry install --all-extras
- name: setup k3d cluster
run: make install-k3d
- name: setup and run argo
run: make run-argo
- name: run workflow tests
run: make test-on-cluster
- name: stop argo cluster
run: make stop-argo
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true