The PyTorch TestInfra project is collection of infrastructure components that are supporting the PyTorch CI/CD system. It also contains various PyTorch development tools like linters.
Clone the repository:
$ git clone --recursive https://github.com/pytorch/test-infra
├── aws # Infra running in AWS
│ ├── lambda
│ └── websites # Several websites supported by TestInfra
│ ├── download.pytorch.org
│ └── metrics.pytorch.org
├── setup-ssh # SSH access setup to CI workers
├── stats # CI related stats committed automatically by a bot
├── terraform-aws-github-runner # Terraform modules and templates used in CI
├── tools # Tools and scripts
| ├── clang-tidy-checks
| └── scripts
└── torchci # Code for hud.pytorch.org and our pytorch bots which run there
└── pages
-
Install yarn: E.g. for macs:
brew install yarn
-
cd torchci
and install dependencies withyarn install
-
Setup your environment variables
a. Copy
torchci/.env.example
totorchci/.env.local
to create a local copy of your environmnet variables. This will NOT be checked into gitb. For every environment setting defined in there, copy over the corresponding value from Vercel (this requires access to our Vercel deployment)
-
From
torchci
runyarn dev
to start the dev server. The local endpoint will be printed on the console, it'll most likely behttp://localhost:3000
. You can find more useful yarn commands inpackage.json
under thescripts
section.
We use actionlint
to verify that the GitHub Actions workflows in .github/workflows
are correct. To run it locally:
-
Install actionlint
go install github.com/rhysd/actionlint/cmd/actionlint@7040327ca40aefd92888871131adc30c7d9c1b6d
-
Run actionlint
# The executable will be in ~/go/bin, so make sure that's on your PATH # actionlint automatically detects and uses shellcheck, so if it's not in # your PATH you will get different results than in CI actionlint
See the CONTRIBUTING
file for how to help out.
PyTorch TestInfra is BSD licensed, as found in the LICENSE
file.