Refactor checkgroup to avoid duplicated checks (#15633)

Co-authored-by: Akihiro Nitta <nitta@akihironitta.com>
Co-authored-by: Jirka Borovec <6035284+Borda@users.noreply.github.com>
This commit is contained in:
Carlos Mocholí 2022-11-11 17:38:09 +01:00 committed by GitHub
parent 0250c1980d
commit 1954764c4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 113 additions and 158 deletions

View File

@ -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

View File

@ -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

View File

@ -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:

226
.github/checkgroup.yml vendored
View File

@ -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"
- ".github/workflows/ci-pytorch-tests.yml"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
@ -39,40 +35,6 @@ 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)"
@ -80,35 +42,84 @@ subprojects:
- 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/**"
checks:
- "pytorch-lightning (GPUs)"
- id: "pytorch_lightning: Benchmarks"
paths:
- ".azure/gpu-benchmark.yml"
- "tests/tests_pytorch/benchmarks/**"
- "requirements/pytorch/**"
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/**"
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/**"
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/**"
- "setup.py"
- "setup.cfg" # includes metadata used in the package creation
- ".actions/**"
checks:
- "make-doctest (pytorch)"
- "make-html (pytorch)"
@ -117,11 +128,9 @@ subprojects:
paths:
- "dockers/**"
- ".github/workflows/ci-pytorch-dockers.yml"
- "requirements.txt"
- "requirements/*.txt"
- "requirements/pytorch/*"
- "requirements/pytorch/**"
- "requirements/lite/**"
- "environment.yml"
- ".github/workflows/*docker*.yml"
- "setup.py"
- ".actions/**"
checks:
@ -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)"
@ -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:
@ -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/**"
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "setup.cfg" # includes pytest config
- ".actions/**"
checks:
- "lightning-lite (GPUs)"
# SECTION: lightning_app
- id: "lightning_app"
paths:
- "requirements/app/**"
- "src/lightning_app/**"
- "tests/tests_app/**"
- "examples/app_*/**" # some tests_app tests call examples files
- "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"
- "src/lightning_app/**"
- "tests/tests_app/**"
- "examples/app_*/**" # some tests_app tests call examples files
- "requirements/app/**"
- "setup.py"
- ".actions/**"
checks:
- "app-pytest (macOS-11, app, 3.8, latest)"
- "app-pytest (macOS-11, app, 3.8, oldest)"
@ -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:
@ -270,23 +228,16 @@ subprojects:
- "app-examples (windows-2022, app, 3.9, oldest)"
- "app-examples (windows-2022, lightning, 3.9, latest)"
- id: "lightning_app: Examples workflow"
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"
@ -294,9 +245,12 @@ subprojects:
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/**"
checks:
- "make-doctest (app)"
- "make-html (app)"

View File

@ -12,8 +12,7 @@ on:
- "src/lightning_app/**"
- "tests/tests_app_examples/**"
- "examples/app_*"
- "requirements/app/*"
- "!requirements/app/docs.txt"
- "requirements/app/**"
- "setup.py"
- ".actions/**"

View File

@ -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/**"

View File

@ -8,8 +8,7 @@ on:
branches: [master, "release/*"]
types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped
paths:
- "requirements/lite/*"
- "!requirements/lite/docs.txt"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "setup.cfg" # includes pytest config

View File

@ -13,7 +13,6 @@ on:
- "setup.py"
- "src/**"
- "requirements/**"
- "!requirements/*/docs.txt"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }}

View File

@ -8,12 +8,10 @@ on:
types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped
paths:
- "dockers/**"
- "!dockers/README.md"
- "requirements.txt"
- "requirements/**"
- "!requirements/*/docs.txt"
- ".github/workflows/ci-pytorch-dockers.yml"
- "requirements/pytorch/**"
- "requirements/lite/**"
- "environment.yml"
- ".github/workflows/*docker*.yml"
- "setup.py"
- ".actions/**"
schedule:

View File

@ -8,16 +8,15 @@ on:
branches: [master, "release/*"]
types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped
paths:
- "requirements/pytorch/*"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
- "tests/legacy/back-compatible-versions.txt"
- "setup.cfg" # includes pytest config
- ".github/workflows/ci-pytorch-tests.yml"
- "requirements/lite/*"
- "requirements/lite/**"
- "src/lightning_lite/**"
- ".actions/**"
- "!requirements/*/docs.txt"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }}

View File

@ -14,7 +14,7 @@ on:
- "docs/**"
- "src/**"
- "setup.py"
- "setup.cfg"
- "setup.cfg" # includes metadata used in the package creation
- ".github/workflows/docs-checks.yml"
concurrency:

View File

@ -6,6 +6,7 @@ on:
branches: ["master", "release/*"]
paths:
- ".github/workflows/docs-deploy.yml"
# TODO: this workflow is just for debugging. extend the paths that should trigger it
env:
FREEZE_REQUIREMENTS: 1

View File

@ -8,8 +8,10 @@ on:
types: [opened, reopened, ready_for_review, synchronize] # added `ready_for_review` since draft is skipped
paths:
- ".github/workflows/tpu-tests.yml"
- "requirements/pytorch/*"
- "!requirements/pytorch/docs.txt"
- "requirements/lite/**"
- "src/lightning_lite/**"
- "tests/tests_lite/**"
- "requirements/pytorch/**"
- "src/pytorch_lightning/**"
- "tests/tests_pytorch/**"
- "setup.cfg" # includes pytest config