Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor checkgroup to avoid duplicated checks #15633

Merged
merged 11 commits into from
Nov 11, 2022
4 changes: 3 additions & 1 deletion .azure/app-cloud-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ pr:
- ".azure/app-cloud-e2e.yml"
- "requirements/app/**"
- "src/lightning_app/**"
- "examples/app_*"
- "tests/tests_app/**"
- "examples/app_*/**" # some tests_app tests call examples files
- "tests/tests_app_examples/**"
- "setup.py"
- ".actions/**"

# variables are automatically exported as environment variables so this will override pip's default cache dir
Expand Down
2 changes: 2 additions & 0 deletions .azure/gpu-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ pr:
paths:
include:
- ".azure/gpu-benchmark.yml"
- "tests/tests_pytorch/benchmarks/**"
- "requirements/pytorch/**"

schedules:
- cron: "0 0 * * *" # At the end of every day
Expand Down
7 changes: 4 additions & 3 deletions .azure/gpu-tests-lite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@ pr:
- "release/*"
paths:
include:
- ".azure/gpu-tests-lite.yml"
- "examples/lite/**"
- "examples/run_lite_examples.sh"
- ".azure/gpu-tests-lite.yml"
- "tests/tests_lite/run_standalone_*.sh"
- "tests/tests_pytorch/run_standalone_tests.sh" # used by Lite through a symlink
- "requirements/lite/**"
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "tests/tests_pytorch/run_standalone_tests.sh"
- "tests/tests_lite/run_standalone_tests.sh" # a symlink to the one above
- "setup.cfg" # includes pytest config
- ".actions/**"

jobs:
Expand Down
220 changes: 87 additions & 133 deletions .github/checkgroup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,11 @@ subprojects:

# SECTION: pytorch_lightning

- id: "pytorch_lightning"
- id: "pytorch_lightning: Tests workflow"
paths:
# all examples don't need to be added because they aren't used in CI, but these are
- "examples/run_pl_examples.sh"
- "examples/pl_basics/backbone_image_classifier.py"
- "examples/pl_basics/autoencoder.py"
- "examples/pl_fault_tolerant/automatic.py"
- "examples/test_pl_examples.py"
- "examples/pl_integrations/dali_image_classifier.py"
carmocca marked this conversation as resolved.
Show resolved Hide resolved
- ".github/workflows/ci-pytorch-tests.yml"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
Expand All @@ -39,76 +35,91 @@ subprojects:
- "pl-cpu (macOS-11, lightning, 3.10, 1.12)"
- "pl-cpu (ubuntu-20.04, lightning, 3.10, 1.12)"
- "pl-cpu (windows-2022, lightning, 3.10, 1.12)"
- "pytorch-lightning (GPUs)"
- "pytorch-lightning (HPUs)"
- "pytorch-lightning (IPUs)"
- "pl-cpu (slow, macOS-11, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, ubuntu-20.04, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, windows-2022, pytorch, 3.7, 1.11)"
# TODO: since this job has intermittent availability, it cannot be required or it will block all PL PRs from forks
#- "test-on-tpus"

- id: "pytorch_lightning: CPU workflow"
paths:
- ".github/workflows/ci-pytorch-tests.yml"
checks:
- "pl-cpu (macOS-11, pytorch, 3.8, 1.10)"
- "pl-cpu (macOS-11, pytorch, 3.9, 1.11)"
- "pl-cpu (macOS-11, pytorch, 3.10, 1.12)"
- "pl-cpu (macOS-11, pytorch, 3.10, 1.13, pre)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.8, 1.10)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.9, 1.11)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.11)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.12)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.9, 1.13, pre)"
- "pl-cpu (windows-2022, pytorch, 3.9, 1.11)"
- "pl-cpu (windows-2022, pytorch, 3.10, 1.11)"
- "pl-cpu (windows-2022, pytorch, 3.10, 1.12)"
- "pl-cpu (windows-2022, pytorch, 3.8, 1.13, pre)"
- "pl-cpu (macOS-11, lightning, 3.10, 1.12)"
- "pl-cpu (ubuntu-20.04, lightning, 3.10, 1.12)"
- "pl-cpu (windows-2022, lightning, 3.10, 1.12)"

- id: "pytorch_lightning: Slow workflow"
paths:
- ".github/workflows/ci-pytorch-tests-slow.yml"
checks:
- "pl-cpu (slow, macOS-11, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, ubuntu-20.04, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, windows-2022, pytorch, 3.7, 1.11)"

- id: "pytorch_lightning: Azure GPU"
paths:
- ".azure/gpu-tests-pytorch.yml"
- "tests/tests_pytorch/run_standalone_*.sh"
# only the azure GPU workflow runs the examples
# all examples don't need to be added because they aren't used in CI, but these are
- "examples/run_pl_examples.sh"
- "examples/pl_basics/backbone_image_classifier.py"
- "examples/pl_basics/autoencoder.py"
- "examples/pl_fault_tolerant/automatic.py"
- "examples/test_pl_examples.py"
- "examples/pl_integrations/dali_image_classifier.py"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
- "setup.cfg" # includes pytest config
- "requirements/lite/**"
- "src/lightning_lite/**"
- ".actions/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "pytorch-lightning (GPUs)"

- id: "pytorch_lightning: Benchmarks"
carmocca marked this conversation as resolved.
Show resolved Hide resolved
paths:
- ".azure/gpu-benchmark.yml"
- "tests/tests_pytorch/benchmarks/**"
- "requirements/pytorch/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "pytorch-lightning.Benchmark"

- id: "pytorch_lightning: Azure HPU"
paths:
- ".azure/hpu-tests.yml"
- "examples/pl_hpu/mnist_sample.py"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
- "setup.cfg" # includes pytest config
- ".actions/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "pytorch-lightning (HPUs)"

- id: "pytorch_lightning: Azure IPU"
paths:
- ".azure/ipu-tests.yml"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
- "setup.cfg" # includes pytest config
- ".actions/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "pytorch-lightning (IPUs)"

- id: "pytorch-lightning: TPU workflow"
paths:
- ".github/workflows/tpu-tests.yml"
checks:
- "test-on-tpus"
# TODO: since this job has intermittent availability, it cannot be required
#- id: "pytorch-lightning: TPU workflow"
# paths:
# - ".github/workflows/tpu-tests.yml"
# - "requirements/lite/**"
# - "src/lightning_lite/**"
# - "tests/tests_lite/**"
# - "requirements/pytorch/**"
# - "src/pytorch_lightning/**"
# - "tests/tests_pytorch/**"
# - "setup.cfg" # includes pytest config
# - ".actions/**"
# checks:
# - "test-on-tpus"

- id: "pytorch_lightning: Docs"
paths:
- "src/pytorch_lightning/**"
- "docs/source-pytorch/**"
- ".github/workflows/docs-*.yml"
- ".github/workflows/docs-checks.yml"
- "requirements/docs.txt"
- "requirements/pytorch/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
- "setup.py"
- "setup.cfg" # includes metadata used in the package creation
- ".actions/**"
checks:
- "make-doctest (pytorch)"
- "make-html (pytorch)"
Expand All @@ -117,11 +128,9 @@ subprojects:
paths:
- "dockers/**"
- ".github/workflows/ci-pytorch-dockers.yml"
- "requirements.txt"
- "requirements/*.txt"
- "requirements/pytorch/*"
- "requirements/pytorch/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
- "requirements/lite/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
- "environment.yml"
- ".github/workflows/*docker*.yml"
- "setup.py"
- ".actions/**"
checks:
Expand All @@ -138,11 +147,13 @@ subprojects:

# SECTION: lightning_lite

- id: "lightning_lite"
- id: "lightning_lite: CPU workflow"
paths:
- "requirements/lite/**"
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "setup.cfg" # includes pytest config
- ".github/workflows/ci-lite-tests.yml"
- ".actions/**"
checks:
- "lite-cpu (macOS-11, lite, 3.9, 1.11)"
Expand All @@ -159,51 +170,6 @@ subprojects:
- "lite-cpu (macOS-11, lightning, 3.8, 1.12)"
- "lite-cpu (ubuntu-20.04, lightning, 3.8, 1.12)"
- "lite-cpu (windows-2022, lightning, 3.8, 1.12)"
- "lightning-lite (GPUs)"
# Lite also requires PL checks as it depends on Lite
- "pl-cpu (macOS-11, pytorch, 3.8, 1.10)"
- "pl-cpu (macOS-11, pytorch, 3.9, 1.11)"
- "pl-cpu (macOS-11, pytorch, 3.10, 1.12)"
- "pl-cpu (macOS-11, pytorch, 3.10, 1.13, pre)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.8, 1.10)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.9, 1.11)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.11)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.12)"
- "pl-cpu (ubuntu-20.04, pytorch, 3.9, 1.13, pre)"
- "pl-cpu (windows-2022, pytorch, 3.9, 1.11)"
- "pl-cpu (windows-2022, pytorch, 3.10, 1.11)"
- "pl-cpu (windows-2022, pytorch, 3.10, 1.12)"
- "pl-cpu (windows-2022, pytorch, 3.8, 1.13, pre)"
- "pl-cpu (macOS-11, lightning, 3.10, 1.12)"
- "pl-cpu (ubuntu-20.04, lightning, 3.10, 1.12)"
- "pl-cpu (windows-2022, lightning, 3.10, 1.12)"
- "pytorch-lightning (GPUs)"
- "pytorch-lightning (HPUs)"
- "pytorch-lightning (IPUs)"
- "pl-cpu (slow, macOS-11, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, ubuntu-20.04, pytorch, 3.7, 1.11)"
- "pl-cpu (slow, windows-2022, pytorch, 3.7, 1.11)"
#- "test-on-tpus"

- id: "lightning_lite: Tests"
paths:
- "tests/tests_lite/**"
checks:
- "lite-cpu (macOS-11, lite, 3.9, 1.11)"
- "lite-cpu (macOS-11, lite, 3.8, 1.10)"
- "lite-cpu (macOS-11, lite, 3.10, 1.12)"
- "lite-cpu (macOS-11, lite, 3.10, 1.13, pre)"
- "lite-cpu (ubuntu-20.04, lite, 3.8, 1.11)"
- "lite-cpu (ubuntu-20.04, lite, 3.10, 1.12)"
- "lite-cpu (ubuntu-20.04, lite, 3.9, 1.13, pre)"
- "lite-cpu (windows-2022, lite, 3.9, 1.10)"
- "lite-cpu (windows-2022, lite, 3.10, 1.11)"
- "lite-cpu (windows-2022, lite, 3.10, 1.12)"
- "lite-cpu (windows-2022, lite, 3.8, 1.13, pre)"
- "lite-cpu (macOS-11, lightning, 3.8, 1.12)"
- "lite-cpu (ubuntu-20.04, lightning, 3.8, 1.12)"
- "lite-cpu (windows-2022, lightning, 3.8, 1.12)"
- "lightning-lite (GPUs)"

- id: "lightning_lite: Azure GPU"
paths:
Expand All @@ -212,34 +178,25 @@ subprojects:
- "examples/run_lite_examples.sh"
- "tests/tests_lite/run_standalone_*.sh"
- "tests/tests_pytorch/run_standalone_tests.sh" # used by Lite through a symlink
- "requirements/lite/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "setup.cfg" # includes pytest config
- ".actions/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "lightning-lite (GPUs)"

# SECTION: lightning_app

- id: "lightning_app"
- id: "lightning_app: Tests workflow"
paths:
- "requirements/app/**"
- ".github/workflows/ci-app-tests.yml"
- "src/lightning_app/**"
- "tests/tests_app/**"
- "examples/app_*/**" # some tests_app tests call examples files
- "requirements/app/**"
- "setup.py"
- ".actions/**"
checks:
- "App.cloud-e2e"
- "app-pytest (macOS-11, app, 3.8, latest)"
- "app-pytest (macOS-11, app, 3.8, oldest)"
- "app-pytest (macOS-11, lightning, 3.9, latest)"
- "app-pytest (ubuntu-20.04, app, 3.8, latest)"
- "app-pytest (ubuntu-20.04, app, 3.8, oldest)"
- "app-pytest (ubuntu-20.04, lightning, 3.9, latest)"
- "app-pytest (windows-2022, app, 3.8, latest)"
- "app-pytest (windows-2022, app, 3.8, oldest)"
- "app-pytest (windows-2022, lightning, 3.8, latest)"

- id: "lightning_app: Tests workflow"
paths:
- ".github/workflows/ci-app-tests.yml"
checks:
- "app-pytest (macOS-11, app, 3.8, latest)"
- "app-pytest (macOS-11, app, 3.8, oldest)"
Expand All @@ -253,10 +210,11 @@ subprojects:

- id: "lightning_app: Examples"
paths:
- "requirements/app/**"
- ".github/workflows/ci-app-examples.yml"
- "src/lightning_app/**"
- "tests/tests_app_examples/**"
- "examples/app_*/**"
- "examples/app_*"
- "requirements/app/**"
- "setup.py"
- ".actions/**"
checks:
Expand All @@ -270,33 +228,29 @@ subprojects:
- "app-examples (windows-2022, app, 3.9, oldest)"
- "app-examples (windows-2022, lightning, 3.9, latest)"

- id: "lightning_app: Examples workflow"
carmocca marked this conversation as resolved.
Show resolved Hide resolved
paths:
- ".github/workflows/ci-app-examples.yml"
checks:
- "app-examples (macOS-11, app, 3.9, latest)"
- "app-examples (macOS-11, app, 3.9, oldest)"
- "app-examples (macOS-11, lightning, 3.9, latest)"
- "app-examples (ubuntu-20.04, app, 3.9, latest)"
- "app-examples (ubuntu-20.04, app, 3.9, oldest)"
- "app-examples (ubuntu-20.04, lightning, 3.9, latest)"
- "app-examples (windows-2022, app, 3.9, latest)"
- "app-examples (windows-2022, app, 3.9, oldest)"
- "app-examples (windows-2022, lightning, 3.9, latest)"

- id: "lightning_app: Azure"
paths:
- ".azure/app-cloud-e2e.yml"
- "requirements/app/**"
- "src/lightning_app/**"
- "tests/tests_app/**"
- "examples/app_*/**" # some tests_app tests call examples files
- "tests/tests_app_examples/**"
- "setup.py"
- ".actions/**"
checks:
- "App.cloud-e2e"

- id: "lightning_app: Docs"
paths:
- "src/lightning_app/**"
- "docs/source-app/**"
- ".github/workflows/docs-*.yml"
- ".github/workflows/docs-checks.yml"
- "requirements/docs.txt"
- "requirements/app/**"
- "setup.py"
- "setup.cfg" # includes metadata used in the package creation
- ".actions/**"
Borda marked this conversation as resolved.
Show resolved Hide resolved
checks:
- "make-doctest (app)"
- "make-html (app)"
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/ci-app-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ on:
- "src/lightning_app/**"
- "tests/tests_app_examples/**"
- "examples/app_*"
- "requirements/app/*"
- "!requirements/app/docs.txt"
carmocca marked this conversation as resolved.
Show resolved Hide resolved
- "requirements/app/**"
- "setup.py"
- ".actions/**"

Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/ci-app-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ on:
- "src/lightning_app/**"
- "tests/tests_app/**"
- "examples/app_*" # some tests_app tests call examples files
- "requirements/app/*"
- "!requirements/app/docs.txt"
- "requirements/app/**"
- "setup.py"
- ".actions/**"

Expand Down
Loading