Split the github workflow in CI and CD #31
Workflow file for this run
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: Continuous Integration | |
on: [pull_request, workflow_dispatch] | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
pre-commit: | |
name: ruff and hooks. | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8' | |
- uses: pre-commit/[email protected] | |
with: | |
extra_args: --all-files --show-diff-on-failure | |
ci: | |
name: CI | |
runs-on: ubuntu-latest | |
if: | | |
github.event_name == 'push' || | |
(github.event_name == 'pull_request' && github.event.pull_request.draft == false) | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8'] | |
torch-version: ['1.11', '2.2'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
lfs: false | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache dependency | |
id: cache-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ matrix.torch-version }}$ | |
restore-keys: | | |
${{ runner.os }}-pip-${{ matrix.python-version }}- | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/cpu | |
pip install -e .[dev] | |
- name: Check types with pyright | |
run: | | |
pyright sbi | |
- name: Run the fast CPU tests without coverage | |
run: | | |
pytest -v -x -n auto -m "not slow and not gpu" tests/ | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
env_vars: OS,PYTHON | |
file: ./coverage.xml | |
flags: unittests | |
name: codecov-sbi-fast-cpu | |
token: ${{ secrets.CODECOV_TOKEN }} |