Combine all code coverages in CI #3399
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |