debug CI #465
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: Test and build | |
on: [push, pull_request, release] | |
jobs: | |
qa: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- uses: pre-commit/[email protected] | |
test: | |
needs: qa | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
python-version: [ "3.9" , "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.9 | |
run: | | |
git lfs pull | |
git checkout pyrealm_build_data/*.nc | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: 1.2.2 | |
- name: Install dependencies | |
run: poetry install | |
# - name: Run tests | |
# run: poetry run pytest -m "not profiling" --cov-report xml | |
- name: Run profiling | |
id: profiling | |
if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.9 # && github.ref == 'refs/heads/main' | |
run: | | |
git lfs pull | |
poetry run pytest -m "profiling" --profile-svg | |
mv prof/combined.prof profiling/profiling.prof | |
# mv prof/combined.svg profiling/profiling.svg | |
poetry run python profiling/report.py | |
- name: Remove LFS objects | |
run: git checkout pyrealm_build_data/*.nc | |
- name: Generate report | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
if: steps.profiling.outcome == 'success' | |
with: | |
file_pattern: 'profiling/*' | |
commit_message: Auto-generated report | |
skip_fetch: true | |
skip_checkout: true | |
- name: Upload coverage reports to Codecov | |
if: success() && (matrix.os == 'ubuntu-latest' && matrix.python-version == 3.9) | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
docs_build: | |
needs: qa | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Install Poetry | |
uses: abatilo/[email protected] | |
with: | |
poetry-version: 1.2.2 | |
- name: Install dependencies | |
run: poetry install | |
- name: Set ipython kernel | |
run: poetry run python -m ipykernel install --user --name=pyrealm_python3 | |
- name: Build docs using sphinx | |
run: | | |
cd docs | |
poetry run sphinx-build -W --keep-going source build | |
- name: Archive built docs for error checking on failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: built-docs | |
path: docs/build | |
retention-days: 2 |