TrackD BYOD: add gnucash_gl adapter v1 #979
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ main, dev, chore/**, docs/**, feat/** ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| docs-strict: | |
| name: docs-strict | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies (docs) | |
| run: | | |
| python -m pip install -U pip | |
| python -m pip install -r requirements.txt -r requirements-dev.txt | |
| python -m pip install -e . | |
| - name: Build docs (workbook strict) | |
| run: make docs-workbook-strict | |
| wheel-smoke: | |
| name: wheel-smoke (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Build wheel | |
| run: | | |
| python -m pip install -U pip | |
| python -m pip install build | |
| python -m build --wheel | |
| - name: Install wheel + smoke test (posix) | |
| if: runner.os != 'Windows' | |
| run: | | |
| python -m venv /tmp/wheeltest | |
| source /tmp/wheeltest/bin/activate | |
| python -m pip install -U pip | |
| python -m pip install dist/*.whl | |
| python -m pip install pytest | |
| python -c "from importlib import resources; p = resources.files('pystatsv1.assets') / 'workbook_starter.zip'; assert p.is_file(), p" | |
| pystatsv1 workbook init --dest /tmp/wb_smoke | |
| test -f /tmp/wb_smoke/Makefile | |
| test -f /tmp/wb_smoke/scripts/psych_ch10_problem_set.py | |
| pystatsv1 workbook run ch10 --workdir /tmp/wb_smoke | |
| pystatsv1 workbook check ch10 --workdir /tmp/wb_smoke | |
| - name: Install wheel + smoke test (windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| python -m venv wheeltest | |
| .\wheeltest\Scripts\python -m pip install -U pip | |
| $wheel = Get-ChildItem dist\*.whl | Select-Object -First 1 | |
| .\wheeltest\Scripts\python -m pip install $wheel.FullName | |
| .\wheeltest\Scripts\python -m pip install pytest | |
| .\wheeltest\Scripts\python -c "from importlib import resources; p = resources.files('pystatsv1.assets') / 'workbook_starter.zip'; assert p.is_file(), p" | |
| .\wheeltest\Scripts\pystatsv1.exe workbook init --dest wb_smoke | |
| if (!(Test-Path wb_smoke\Makefile)) { throw 'Missing Makefile' } | |
| if (!(Test-Path wb_smoke\scripts\psych_ch10_problem_set.py)) { throw 'Missing script psych_ch10_problem_set.py' } | |
| .\wheeltest\Scripts\pystatsv1.exe workbook run ch10 --workdir wb_smoke | |
| .\wheeltest\Scripts\pystatsv1.exe workbook check ch10 --workdir wb_smoke | |
| windows-py310: | |
| runs-on: windows-latest | |
| timeout-minutes: 20 | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| defaults: | |
| run: | |
| shell: pwsh | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| cache: pip | |
| - name: Install make (Chocolatey) | |
| run: choco install make -y | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| if (Test-Path requirements.txt) { pip install -r requirements.txt } else { pip install numpy pandas statsmodels matplotlib scipy } | |
| if (Test-Path requirements-dev.txt) { pip install -r requirements-dev.txt } else { pip install ruff pytest } | |
| pip install -e . | |
| - name: Lint | |
| run: make lint | |
| - name: Build docs | |
| run: make docs | |
| - name: Tests | |
| run: make test | |
| - name: Tiny Chapter 13 smoke | |
| run: make ch13-ci | |
| - name: Upload artifacts (plots & data) | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ch13-artifacts | |
| if-no-files-found: ignore | |
| path: | | |
| data/synthetic/** | |
| outputs/** |