Skip to content

Commit

Permalink
updating CI readme (#18443)
Browse files Browse the repository at this point in the history
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Aug 31, 2023
1 parent 7834bb6 commit a3218cb
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 35 deletions.
87 changes: 52 additions & 35 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,28 @@

# Continuous Integration and Delivery

## Unit and Integration Testing
Brief description of all our automation tools used for boosting development performances.

| workflow file | action | accelerator\* |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| .github/workflows/ci-tests-pytorch.yml | Run all tests except for accelerator-specific, standalone and slow tests. | CPU |
| .azure-pipelines/ipu-tests.yml | Run only IPU-specific tests. | IPU |
| .azure-pipelines/gpu-tests-pytorch.yml | Run all CPU and GPU-specific tests, standalone, and examples. Each standalone test needs to be run in separate processes to avoid unwanted interactions between test cases. | GPU |
| .azure-pipelines/gpu-benchmarks.yml | Run speed/memory benchmarks for parity with pure PyTorch. | GPU |
| .github/workflows/tpu-tests.yml | Run only TPU-specific tests. Requires that the PR title contains '\[TPU\]' | TPU |
## Unit and Integration Testing

- \*Accelerators used in CI
| workflow file | action | accelerator |
| -------------------------------------- | ----------------------------------------------------------------------------------------- | ----------- |
| .github/workflows/ci-tests-app.yml | Run all tests (may need internet connectivity). | CPU |
| .github/workflows/ci-tests-fabric.yml | Run all tests except for accelerator-specific and standalone. | CPU |
| .github/workflows/ci-tests-pytorch.yml | Run all tests except for accelerator-specific and standalone. | CPU |
| .github/workflows/ci-tests-data.yml | Run unit and integration tests with data pipelining. | CPU |
| .github/workflows/ci-tests-store.yml | Run integration tests on uploading models to cloud. | CPU |
| .azure-pipelines/gpu-tests-fabric.yml | Run only GPU-specific tests, standalone\*, and examples. | GPU |
| .azure-pipelines/gpu-tests-pytorch.yml | Run only GPU-specific tests, standalone\*, and examples. | GPU |
| .azure-pipelines/gpu-benchmarks.yml | Run speed/memory benchmarks for parity with vanila PyTorch. | GPU |
| .github/workflows/ci-examples-app.yml | Run integration tests with App examples. | CPU |
| .github/workflows/ci-flagship-apps.yml | Run end-2-end tests with full applications, including deployment to the production cloud. | CPU |
| .github/workflows/ci-tests-pytorch.yml | Run all tests except for accelerator-specific, standalone and slow tests. | CPU |
| .github/workflows/tpu-tests.yml | Run only TPU-specific tests. Requires that the PR title contains '\[TPU\]' | TPU |

\* Each standalone test needs to be run in separate processes to avoid unwanted interactions between test cases.

- Accelerators used in CI

- GPU: 2 x NVIDIA RTX 3090
- TPU: [Google TPU v4-8](https://cloud.google.com/tpu/docs)
Expand All @@ -22,41 +33,47 @@

## Documentation

| workflow file | action |
| --------------------------------- | ------------ |
| .github/workflows/docs-checks.yml | Run doctest. |
| workflow file | action |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| .github/workflows/docs-build.yml | Run doctest, linkcheck and full HTML build. |
| .github/workflows/ci-rtfd.yml | Append link to the PR describtion with temporaty ReadTheDocs build docs. |
| .github/workflows/ci-check-md-links.yml <br> .github/workflows/markdown.links.config.json | Validate links in markdown files. |

## Code Quality

| workflow file | action |
| --------------------------------------- | ----------------------------------------------------------------------------------------- |
| .codecov.yml | Measure test coverage with [codecov.io](https://app.codecov.io/gh/Lightning-AI/lightning) |
| .github/workflows/code-checks.yml | Check Python typing with [MyPy](https://mypy.readthedocs.io/en/stable/). |
| .github/workflows/ci-schema.yml | Validate the syntax of workflow files. |
| .github/workflows/ci-check-md-links.yml | Validate links in markdown files. |
| workflow file | action |
| --------------------------------- | ----------------------------------------------------------------------------------------- |
| .codecov.yml | Measure test coverage with [codecov.io](https://app.codecov.io/gh/Lightning-AI/lightning) |
| .github/workflows/code-checks.yml | Check Python typing with [MyPy](https://mypy.readthedocs.io/en/stable/). |
| .github/workflows/ci-schema.yml | Validate the syntax of workflow files. |

## Others

| workflow file | action |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| .github/workflows/ci-dockers.yml | Build docker images used for testing in CI. If run on nightly schedule, push to the [Docker Hub](https://hub.docker.com/r/pytorchlightning/pytorch_lightning). |
| .github/workflows/ci-pkg-install.yml | Test if pytorch-lightning is successfully installed using pip. |
| workflow file | action |
| ------------------------------------ | ----------------------------------------------------------------------------------------------- |
| .github/workflows/docker-build.yml | Build docker images used for testing in CI. If run on nightly schedule, push to the Docker Hub. |
| .github/workflows/ci-pkg-install.yml | Test if pytorch-lightning is successfully installed using pip. |
| .github/workflows/ci-checkpoints.yml | Build checkpoints that are will be tested on release to ensure backwards-compatibility |

The published Docker Hub project is https://hub.docker.com/r/pytorchlightning/pytorch_lightning.

## Deployment

| workflow file | action |
| ------------------------------------------ | ---------------------------------------------------------------------------------- |
| .github/workflows/release-pypi.yml | Publish a release to PyPI. |
| .github/workflows/release-docker.yml | Build Docker images from dockers/\*/Dockerfile and publish them on hub.docker.com. |
| .github/workflows/\_legacy-checkpoints.yml | App on request generate legacy checkpoints and upload them to AWS S3. |
| workflow file | action |
| ------------------------------------------ | ------------------------------------------------------------------------------ |
| .github/workflows/docs-build.yml | Build the docs for each project and puch it to GCS with automatics deployment. |
| .github/workflows/docker-build.yml | Build docker images used for releases and push them to the Docker Hub. |
| .github/workflows/release-pkg.yml | Publish a release to PyPI and upload to the GH release page as artifact. |
| .github/workflows/\_legacy-checkpoints.yml | Add on request generate legacy checkpoints and upload them to AWS S3. |

## Bots

| workflow file | action |
| ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| .github/mergify.yml | Label PRs as conflicts or ready, and request reviews if needed. |
| .github/stale.yml | Close inactive issues/PRs sometimes after adding the "won't fix" label to them. |
| .github/workflows/probot-auto-cc.yml, .github/lightning-probot.yml | Notify maintainers of interest depending on labels added to an issue We utilize lightning-probot forked from PyTorch’s probot. |
| .github/workflows/probot-check-group.yml, .github/checkgroup.yml | Checks whether the relevant jobs were successfully run based on the changed files in the PR |
| .pre-commit-config.yaml | pre-commit.ci runs a set of linters and formatters, such as black, ruff and isort. When formatting is applied, the bot pushes a commit with its change. This configuration is also used for running pre-commit locally. |
| .github/workflows/labeler.yml, .github/labeler.yml | Integration of https://github.com/actions/labeler |
| workflow file | action |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| .github/mergify.yml | Label PRs as conflicts or ready, and request reviews if needed. |
| .github/stale.yml | Close inactive issues/PRs sometimes after adding the "won't fix" label to them. |
| .github/workflows/probot-auto-cc.yml <br> .github/lightning-probot.yml | Notify maintainers of interest depending on labels added to an issue We utilize lightning-probot forked from PyTorch’s probot. |
| .github/workflows/probot-check-group.yml <br> .github/checkgroup.yml | Checks whether the relevant jobs were successfully run based on the changed files in the PR |
| .pre-commit-config.yaml | It applies a set of linters and formatters and can be registered with your local dev. If needed [bot](https://pre-commit.ci/) pushc chnges to each PRs. |
| .github/workflows/labeler-pr.yml, .github/labeler.yml | Integration of https://github.com/actions/labeler |
| .github/workflows/labeler-issue.yml | Parse user provided `lightning` version and set it as label. |
16 changes: 16 additions & 0 deletions .github/workflows/ci-rtfd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: RTFD Preview
on:
pull_request_target:
types:
- opened

permissions:
pull-requests: write

jobs:
documentation-links:
runs-on: ubuntu-latest
steps:
- uses: readthedocs/actions/preview@v1
with:
project-slug: "pytorch-lightning"

0 comments on commit a3218cb

Please sign in to comment.