Add small dataset for profiling #450
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 | |
- 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 | |
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.svg profiling/profiling.svg | |
mv prof/combined.prof profiling/profiling.prof | |
python profiling/report.py | |
echo "REPORT=1" >> $GITHUB_ENV | |
- name: Generate report | |
if: env.REPORT == 1 | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Automated report | |
file_pattern: '*.csv *.png *.svg' | |
- 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 |