Add support for polars #598
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: | |
# We would like to trigger for CI for any pull request action - | |
# both from QuantCo's branches as well as forks. | |
pull_request: | |
# In addition to pull requests, we want to run CI for pushes | |
# to the main branch and tags. | |
push: | |
branches: | |
- "main" | |
tags: | |
- "*" | |
# Automatically stop old builds on the same branch/PR | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash -el {0} | |
jobs: | |
pre-commit-checks: | |
name: Pre-commit Checks | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
with: | |
environments: default lint | |
- name: pre-commit | |
run: pixi run pre-commit-run --color=always --show-diff-on-failure | |
mypy-example-nbs: | |
name: Check notebooks mypy | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
- name: Run mypy | |
run: | | |
pixi run nb-convert | |
pixi run nb-mypy | |
unit-tests: | |
name: Unit Tests | |
timeout-minutes: 30 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
env: ["py310", "py311", "py312"] | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
with: | |
environments: ${{ matrix.env }} | |
- name: Install repository and generate code coverage report | |
run: | | |
pixi run -e ${{ matrix.env }} postinstall | |
pixi run -e ${{ matrix.env }} coverage | |
- name: Upload coverage reports to Codecov | |
if: matrix.env == 'py312' && matrix.os == 'ubuntu-latest' | |
uses: codecov/[email protected] | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml |