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 with yarn install
Setup your environment variables
a. Copy torchci/.env.example
to torchci/.env.local
to create a local copy of your environmnet variables. This will NOT be checked into git
b. For every environment setting defined in there, copy over the corresponding value from Vercel (this requires access to our Vercel deployment)
From torchci
run yarn dev
to start the dev server. The local endpoint will be printed on the console, it'll most likely be http://localhost:3000
. You can find more useful yarn commands in package.json
under the scripts
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.