Skip to content

refactor: fix tests after pydantic 2 refactor #865

refactor: fix tests after pydantic 2 refactor

refactor: fix tests after pydantic 2 refactor #865

Workflow file for this run

name: "linux tests and documentation build for 'kiara'"
# This workflow is triggered on pushes to the repository.
on: [push]
jobs:
commitlint:
name: lint commit message
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v4
test-linux:
name: pytest on linux
runs-on: ubuntu-latest
strategy:
matrix:
python_version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- name: "Set up Python ${{ matrix.python_version }}"
uses: actions/setup-python@v4
with:
python-version: "${{ matrix.python_version }}"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- uses: actions/checkout@v2
- name: install core_types plugin
run: pip install -U git+https://github.com/DHARPA-project/kiara_plugin.core_types@develop
- name: install tabular types plugin
run: pip install -U git+https://github.com/DHARPA-project/kiara_plugin.tabular@develop
- name: install kiara
run: pip install -U .[dev_testing]
- name: display installed kiara and module package versions
run: pip list | grep kiara
- name: test with pytest
run: make test
coverage:
name: test coverage
runs-on: ubuntu-latest
steps:
- name: "Set up Python 3.10"
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- uses: actions/checkout@v2
- name: install core_types plugin
run: pip install -U git+https://github.com/DHARPA-project/kiara_plugin.core_types@develop
- name: install tabular types plugin
run: pip install -U git+https://github.com/DHARPA-project/kiara_plugin.tabular@develop
- name: install kiara
run: pip install -U .[dev_testing]
- name: display installed kiara and module package versions
run: pip list | grep kiara
- name: Run coverage
run: coverage run -m pytest tests
- name: coveralls
uses: coverallsapp/github-action@v2
with:
format: python
allow-empty: true
# - name: Upload coverage data to coveralls.io
# run: coveralls --service=github
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
mypy-linux:
name: mypy check on linux
runs-on: ubuntu-latest
strategy:
matrix:
python_version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- name: "Set up Python ${{ matrix.python_version }}"
uses: actions/setup-python@v4
with:
python-version: "${{ matrix.python_version }}"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- uses: actions/checkout@v2
- name: install kiara
run: pip install -U .[dev_testing]
- name: Test with mypy
run: make mypy
linting-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff==0.0.257
# Include `--format=github` to enable automatic inline annotations.
- name: Run Ruff
run: ruff --format=github src/
build-docs:
name: build documentation
runs-on: ubuntu-latest
needs:
- test-linux
- mypy-linux
- linting-linux
steps:
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install kiara
run: pip install -U .[dev_documentation,doc]
- run: git config --global user.email "markus@frkl.io"
- run: git config --global user.name "Markus Binsteiner"
- name: create latest documentation
if: ${{ ( github.ref == 'refs/heads/develop') }}
run: FAIL_DOC_BUILD_ON_ERROR=true mike deploy --push latest && mike set-default --push latest
- name: extract tag name
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: create stable documentation
if: ${{ startsWith(github.ref, 'refs/tags/') }}
run: FAIL_DOC_BUILD_ON_ERROR=true mike deploy --push --update-alias --title "v ${RELEASE_VERSION}" "${RELEASE_VERSION}" stable
publish_python_package:
name: publish python package
runs-on: ubuntu-latest
needs:
- test-linux
- mypy-linux
- linting-linux
env:
GEMFURY_PUSH_TOKEN: ${{ secrets.GEMFURY_PUSH_TOKEN }}
steps:
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install pip
run: pip install pip==21.2.4 setuptools==57.4.0
- name: install kiara
run: pip install -U -e .
- name: install 'build' package
run: pip install -U build
- name: create packages
run: python -m build
- name: upload source package
if: ${{ ( github.ref == 'refs/heads/develop') || startsWith(github.ref, 'refs/tags') }}
run: curl -F package=@$(ls dist/kiara-*.tar.gz) https://${GEMFURY_PUSH_TOKEN}@dharpa.fury.land:443/pypi/
- name: upload wheel
if: ${{ (github.ref == 'refs/heads/develop') || startsWith(github.ref, 'refs/tags') }}
run: curl -F package=@$(ls dist/kiara-*.whl) https://${GEMFURY_PUSH_TOKEN}@dharpa.fury.land:443/pypi/
- name: publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
conda_package_build:
name: conda package build (and upload if release)
runs-on: ubuntu-latest
needs:
- test-linux
- mypy-linux
- linting-linux
steps:
- name: "Set up Python 3.10"
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: pip cache
id: pip-cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.*') }}
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install kiara
run: pip install -U .
- name: install required plugin packages
run: pip install git+https://github.com/DHARPA-Project/kiara_plugin.develop.git@develop
- name: build conda package
if: ${{ ( github.ref == 'refs/heads/develop') }}
run: kiara conda build-package --patch-data ci/conda/conda-pkg-patch.yaml .
- name: extract tag name
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: build & publish conda package
if: ${{ startsWith(github.ref, 'refs/tags/') }}
run: kiara conda build-package --publish --user dharpa --token ${{ secrets.ANACONDA_PUSH_TOKEN }} --patch-data ci/conda/conda-pkg-patch.yaml .
merge_tag_to_main:
name: merge current tag to main branch
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags') }}
needs:
- test-linux
- mypy-linux
- linting-linux
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: git config --global user.email "markus@frkl.io"
- run: git config --global user.name "Markus Binsteiner"
- name: extract tag name
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: checkout main branch
run: git checkout main
- name: merge tag
run: git merge "${RELEASE_VERSION}"
- name: push updated main branch
run: git push https://${{ secrets.GITHUB_TOKEN }}@github.com/DHARPA-Project/kiara.git