add tutorial #2813
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: CI | |
on: [push] | |
jobs: | |
pre-commit-checks: | |
name: Linux - pre-commit checks - Python 3.11 | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
env: | |
PRE_COMMIT_USE_MICROMAMBA: 1 | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up micromamba | |
uses: mamba-org/setup-micromamba@f8b8a1e23a26f60a44c853292711bacfd3eac822 | |
- name: Add micromamba to GITHUB_PATH | |
run: echo "${HOME}/micromamba-bin" >> "$GITHUB_PATH" | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Run pre-commit checks | |
uses: pre-commit/[email protected] | |
unit-tests: | |
name: Tests - ${{ matrix.os }} - Py${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CI: True | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- { os: ubuntu-latest, python-version: '3.9' } | |
- { os: ubuntu-latest, python-version: '3.10' } | |
- { os: ubuntu-latest, python-version: '3.11' } | |
- { os: ubuntu-latest, python-version: '3.12' } | |
- { os: macos-latest, python-version: '3.12' } | |
- { os: windows-latest, python-version: '3.12' } | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up conda env | |
uses: mamba-org/setup-micromamba@f8b8a1e23a26f60a44c853292711bacfd3eac822 | |
with: | |
environment-file: environment.yml | |
init-shell: ${{ matrix.os == 'windows-latest' && 'powershell' || 'bash' }} | |
cache-environment: true | |
create-args: >- | |
python=${{ matrix.python-version }} | |
- name: Install repository (unix) | |
if: matrix.os != 'windows-latest' | |
shell: bash -el {0} | |
run: pip install --no-use-pep517 --no-deps --disable-pip-version-check -e . | |
- name: Install repository (windows) | |
if: matrix.os == 'windows-latest' | |
shell: powershell | |
run: pip install --no-use-pep517 --no-deps --disable-pip-version-check -e . | |
- name: Run pytest (unix) | |
if: matrix.os != 'windows-latest' | |
shell: bash -el {0} | |
run: pytest -nauto tests/glm --doctest-modules src/glum | |
- name: Run pytest (windows) | |
if: matrix.os == 'windows-latest' | |
shell: powershell | |
run: pytest -nauto .\tests\glm --doctest-modules .\src\glum | |
- name: Run doctest | |
if: matrix.os != 'windows-latest' | |
shell: bash -el {0} | |
# Check that the readme example will work by running via doctest. | |
# We run outside the repo to make the test a bit more similar to | |
# a user running after installing with conda. | |
run: | | |
mkdir ../temp | |
cp README.md ../temp | |
cd ../temp | |
python -m doctest -v README.md |