Create model #517
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Many color libraries just need this variable to be set to any value. | |
| # Set it to 3 to support 8-bit color graphics (256 colors per channel) | |
| # for libraries that care about the value set. | |
| FORCE_COLOR: 3 | |
| defaults: | |
| run: | |
| shell: bash -el {0} | |
| jobs: | |
| lint: | |
| name: Pylint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - uses: astral-sh/setup-uv@v7 | |
| - name: Run Pylint | |
| run: uvx nox -s pylint -- --output-format=github | |
| checks: | |
| name: Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }} | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| runs-on: [ubuntu-latest, windows-latest, macos-14] | |
| env: | |
| NUMBA_DISABLE_JIT: "1" | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Switch to Current Branch | |
| run: git checkout ${{ env.BRANCH }} | |
| - name: Get current week number of year | |
| id: date | |
| run: echo "date=$(date +%Y-W%W)" >> $GITHUB_OUTPUT # e.g., 2024-W19 | |
| # Install Micromamba with conda-forge dependencies | |
| - name: Setup Micromamba | |
| uses: mamba-org/setup-micromamba@v2 | |
| with: | |
| environment-file: environment.yml | |
| post-cleanup: "all" | |
| cache-downloads: false | |
| # environment cache is persistent for one week. | |
| cache-environment-key: | |
| micromamba-environment-${{ steps.date.outputs.date }} | |
| - name: Install package | |
| run: pip install --no-deps -e . | |
| - name: Run the tests | |
| run: >- | |
| pytest -ra --cov --cov-report=xml --cov-report=term --durations=20 | |
| - name: Upload coverage report | |
| uses: codecov/codecov-action@v5 | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |