Use github workflows instead of circleci and upload coverage to sonarcloud #16
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: 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 |