Skip to content

Use github workflows instead of circleci and upload coverage to sonarcloud #16

Use github workflows instead of circleci and upload coverage to sonarcloud

Use github workflows instead of circleci and upload coverage to sonarcloud #16

Workflow file for this run

name: tests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
windows:
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
python: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
- run: pip install tox
- run: tox -e py-all-extras
macos:
runs-on: macOS-15
strategy:
fail-fast: false
matrix:
python: [3.8, "3.10", 3.12]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
- run: pip install tox
- run: tox -e py-all-extras
omegaconf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- run: pip install tox
- run: tox -e omegaconf
installed-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- name: Build package
run: |
pip install -U build
python -m build
- name: Test without optional dependencies
run: |
cd dist
pip install $(ls *.whl)[test-no-urls]
python -m jsonargparse_tests
- name: Test with all optional dependencies
run: |
cd dist
pip install $(ls *.whl)[test,all]
python -m jsonargparse_tests
doctest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- run: pip install -e .[all,doc]
- name: Run doc tests
run: sphinx-build -M doctest sphinx sphinx/_build sphinx/index.rst
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- uses: actions/cache@v4
with:
key: pre-commit-cache
path: ~/.cache/pre-commit
- run: pip install pre-commit
- run: pre-commit run -a --hook-stage pre-push mypy