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

updating CI readme #18443

Merged
merged 7 commits into from
Aug 31, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 50 additions & 34 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,27 @@

# Continuous Integration and Delivery

Brief description of all our automation tools used for boosting development performances.

## Unit and Integration Testing

| 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 |
Borda marked this conversation as resolved.
Show resolved Hide resolved
| 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 |
Borda marked this conversation as resolved.
Show resolved Hide resolved

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

- \*Accelerators used in CI
- 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 +32,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%2Fmarkdown.links.config.json | Validate links in markdown files. |
Borda marked this conversation as resolved.
Show resolved Hide resolved

## 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 | Test building checkpint whci is later (when release) used for back-compatibility check. |
Borda marked this conversation as resolved.
Show resolved Hide resolved

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: "torchmetrics"
Borda marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Releasing
name: Releasing package

# https://help.github.com/en/actions/reference/events-that-trigger-workflows
on:
Expand Down