3a2c66702c
Tests on CPU (scheduled) / check-skip (push) Has been cancelled
Tests on CPU (scheduled) / pre-tests (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-ubuntu (float32) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-ubuntu (float64) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float64, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float64, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.13, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.13, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.11, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.11, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.12, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.12, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.13, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / coverage (push) Has been cancelled
Tests on CPU (scheduled) / typing (push) Has been cancelled
Tests on CPU (scheduled) / tutorials (push) Has been cancelled
Tests on CPU (scheduled) / docs (push) Has been cancelled
Lint / TOML Format (push) Has been cancelled
174 lines
5.1 KiB
YAML
174 lines
5.1 KiB
YAML
on:
|
|
workflow_call:
|
|
inputs:
|
|
python-version:
|
|
required: false
|
|
type: string
|
|
default: "3.11"
|
|
pytorch-device:
|
|
required: false
|
|
type: string
|
|
default: "cpu"
|
|
os:
|
|
required: false
|
|
type: string
|
|
default: ubuntu-latest
|
|
ref:
|
|
required: false
|
|
type: string
|
|
default: ${{ github.sha }}
|
|
cache-path:
|
|
required: false
|
|
type: string
|
|
cache-key:
|
|
required: false
|
|
type: string
|
|
cache-restore-keys:
|
|
required: false
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
slow:
|
|
# Only run tests with slow marker which aren't dynamo tests
|
|
runs-on: ${{ inputs.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
pytorch-dtype: ["float32", "float64"]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
|
|
- name: Restore cache
|
|
if: inputs.cache-path != ''
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: ${{ inputs.cache-path }}
|
|
key: ${{ inputs.cache-key }}
|
|
restore-keys: ${{ inputs.cache-restore-keys }}
|
|
|
|
- uses: ./.github/actions/coverage
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
pytorch-dtype: ${{ matrix.pytorch-dtype }}
|
|
pytorch-device: ${{ inputs.pytorch-device }}
|
|
pytest-extra: '--runslow -k "slow and not test_dynamo"'
|
|
coverage-artifact: coverage-slow-${{ matrix.pytorch-dtype }}
|
|
|
|
dynamo:
|
|
# Run all dynamo (torch.compile) related tests
|
|
runs-on: ${{ inputs.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
pytorch-dtype: ["float32"]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
|
|
- name: Restore cache
|
|
if: inputs.cache-path != ''
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: ${{ inputs.cache-path }}
|
|
key: ${{ inputs.cache-key }}
|
|
restore-keys: ${{ inputs.cache-restore-keys }}
|
|
|
|
- uses: ./.github/actions/coverage
|
|
env:
|
|
KORNIA_TEST_OPTIMIZER: inductor
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
pytorch-dtype: ${{ matrix.pytorch-dtype }}
|
|
pytorch-device: ${{ inputs.pytorch-device }}
|
|
pytest-extra: '--runslow -k "test_dynamo"'
|
|
coverage-artifact: coverage-dynamo-${{ matrix.pytorch-dtype }}
|
|
|
|
overall:
|
|
# Run all tests which didn't have a slow marker or are dynamo tests
|
|
runs-on: ${{ inputs.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
pytorch-dtype: ["float32", "float64"]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
|
|
- name: Restore cache
|
|
if: inputs.cache-path != ''
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: ${{ inputs.cache-path }}
|
|
key: ${{ inputs.cache-key }}
|
|
restore-keys: ${{ inputs.cache-restore-keys }}
|
|
|
|
- uses: ./.github/actions/coverage
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
pytorch-dtype: ${{ matrix.pytorch-dtype }}
|
|
pytorch-device: ${{ inputs.pytorch-device }}
|
|
coverage-artifact: coverage-overall-${{ matrix.pytorch-dtype }}
|
|
|
|
report:
|
|
runs-on: ${{ inputs.os }}
|
|
needs: [slow, dynamo, overall]
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
repository: kornia/kornia
|
|
ref: ${{ inputs.ref }}
|
|
|
|
- name: Download coverage reports
|
|
uses: actions/download-artifact@v8
|
|
with:
|
|
merge-multiple: true
|
|
|
|
- name: Set pixi environment name
|
|
id: pixi-env
|
|
shell: bash
|
|
run: echo "name=py$(echo '${{ inputs.python-version }}' | tr -d '.')" >> $GITHUB_OUTPUT
|
|
|
|
- name: Setup pixi
|
|
uses: prefix-dev/setup-pixi@v0.9.6
|
|
with:
|
|
pixi-version: v0.40.0
|
|
cache: true
|
|
environments: ${{ steps.pixi-env.outputs.name }}
|
|
|
|
- name: Install dependencies
|
|
run: pixi run -e ${{ steps.pixi-env.outputs.name }} install
|
|
|
|
- name: Run coverage
|
|
run: |
|
|
pixi run -e ${{ steps.pixi-env.outputs.name }} uv run coverage combine --keep \
|
|
$GITHUB_WORKSPACE/coverage-dynamo-float32 \
|
|
$GITHUB_WORKSPACE/coverage-slow-float32 \
|
|
$GITHUB_WORKSPACE/coverage-slow-float64 \
|
|
$GITHUB_WORKSPACE/coverage-overall-float32 \
|
|
$GITHUB_WORKSPACE/coverage-overall-float64
|
|
pixi run -e ${{ steps.pixi-env.outputs.name }} uv run coverage xml -o coverage.xml
|
|
pixi run -e ${{ steps.pixi-env.outputs.name }} uv run coverage report --show-missing --skip-covered
|
|
|
|
- if: always()
|
|
name: Upload coverage
|
|
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v3
|
|
with:
|
|
file: coverage.xml
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
flags: cpu,${{ inputs.os }}_py-${{ inputs.python-version }}_float32,float64
|
|
name: cpu-coverage
|