refactor: fix tests after pydantic 2 refactor #865
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: "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 |