Skip to content

CI Tests

CI Tests #203

Workflow file for this run

name: CI Tests
on:
#NOTE: All jobs gated by auth job
#Regular dev
push:
pull_request:
#Enable UI-driven branch testing
workflow_dispatch:
#Test main every sunday
schedule:
- cron: '0 0 * * 0'
jobs:
test-core:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv cu_cat
source cu_cat/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test,dirty-cat]
- name: Lint
run: |
source cu_cat/bin/activate
./bin/lint.sh
- name: Type check
run: |
source cu_cat/bin/activate
./bin/typecheck.sh
- name: Core tests
run: |
source cu_cat/bin/activate
./bin/test-core.sh
test-rapids:
needs: [ test-core ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Check if RAPIDS is installed
id: check_rapids
run: |
python -c "import cudf" && echo "RAPIDS_INSTALLED=true" >> $GITHUB_ENV || echo "RAPIDS_INSTALLED=false" >> $GITHUB_ENV
- name: Install test dependencies
if: env.RAPIDS_INSTALLED == 'true'
run: |
python -m venv cu_cat
source cu_cat/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test,rapids,dirty-cat]
- name: Lint
if: env.RAPIDS_INSTALLED == 'true'
run: |
source cu_cat/bin/activate
./bin/lint.sh
- name: Type check
if: env.RAPIDS_INSTALLED == 'true'
run: |
source cu_cat/bin/activate
./bin/typecheck.sh
- name: RAPIDS tests
if: env.RAPIDS_INSTALLED == 'true'
run: |
source cu_cat/bin/activate
./bin/test-rapids.sh
test-build:
needs: [ test-core ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .[build]
- name: Test building
run: |
./bin/build.sh
test-docs:
needs: [ test-core ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Test building docs
run: |
# cd docs && ./docker.sh
# test-readme:
# needs: [ test-core ]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Set up Python 3.9
# uses: actions/setup-python@v5
# with:
# python-version: 3.9
# - name: Test building docs
# continue-on-error: true
# run: |
# docker run --rm -v "$(pwd)/README.md:/workdir/README.md:ro" -v "$(pwd)/.markdownlint.yaml:/workdir/.markdownlint.yaml:ro" ghcr.io/igorshubovych/markdownlint-cli:v0.37.0 README.md