mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
Or ignore them. Found by running the lint_urls.sh script locally with https://github.com/pytorch/pytorch/pull/153246 Pull Request resolved: https://github.com/pytorch/pytorch/pull/153277 Approved by: https://github.com/malfet
159 lines
6.0 KiB
YAML
159 lines
6.0 KiB
YAML
name: docker-builds
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- .ci/docker/**
|
|
- .github/workflows/docker-builds.yml
|
|
- .lintrunner.toml
|
|
push:
|
|
branches:
|
|
- main
|
|
- release/*
|
|
- landchecks/*
|
|
paths:
|
|
- .ci/docker/**
|
|
- .github/workflows/docker-builds.yml
|
|
- .lintrunner.toml
|
|
schedule:
|
|
- cron: 1 3 * * 3
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
ALPINE_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine
|
|
AWS_DEFAULT_REGION: us-east-1
|
|
|
|
permissions: read-all
|
|
|
|
jobs:
|
|
get-label-type:
|
|
if: github.repository_owner == 'pytorch'
|
|
name: get-label-type
|
|
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
|
|
with:
|
|
triggering_actor: ${{ github.triggering_actor }}
|
|
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
|
|
curr_branch: ${{ github.head_ref || github.ref_name }}
|
|
curr_ref_type: ${{ github.ref_type }}
|
|
|
|
docker-build:
|
|
environment: ${{ (github.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/tags/v')) && 'docker-build' || '' }}
|
|
needs: get-label-type
|
|
timeout-minutes: 240
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
runner: [linux.12xlarge]
|
|
docker-image-name: [
|
|
pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda12.4-cudnn9-py3.12-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda12.4-cudnn9-py3.13-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda12.6-cudnn9-py3-gcc11,
|
|
pytorch-linux-focal-cuda12.6-cudnn9-py3-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda12.6-cudnn9-py3.12-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda12.6-cudnn9-py3.13-gcc9-inductor-benchmarks,
|
|
pytorch-linux-focal-cuda11.8-cudnn9-py3-gcc9,
|
|
pytorch-linux-focal-py3.9-clang10,
|
|
pytorch-linux-focal-py3.11-clang10,
|
|
pytorch-linux-focal-py3.12-clang10,
|
|
pytorch-linux-focal-py3.13-clang10,
|
|
pytorch-linux-jammy-rocm-n-1-py3,
|
|
pytorch-linux-jammy-rocm-n-py3,
|
|
pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-clang12,
|
|
pytorch-linux-jammy-py3.9-gcc11,
|
|
pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks,
|
|
pytorch-linux-jammy-py3.12-halide,
|
|
pytorch-linux-jammy-xpu-2024.0-py3,
|
|
pytorch-linux-jammy-xpu-2025.0-py3,
|
|
pytorch-linux-jammy-py3-clang15-asan,
|
|
pytorch-linux-jammy-py3-clang18-asan,
|
|
pytorch-linux-focal-py3-clang10-onnx,
|
|
pytorch-linux-focal-linter,
|
|
pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter,
|
|
pytorch-linux-jammy-py3-clang12-executorch,
|
|
pytorch-linux-jammy-py3.12-triton-cpu
|
|
]
|
|
include:
|
|
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc11
|
|
runner: linux.arm64.m7g.4xlarge
|
|
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc11-inductor-benchmarks
|
|
runner: linux.arm64.m7g.4xlarge
|
|
timeout-minutes: 600
|
|
# Docker uploads fail from LF runners, see https://github.com/pytorch/pytorch/pull/137358
|
|
# runs-on: "${{ needs.get-label-type.outputs.label-type }}${{ matrix.runner }}"
|
|
runs-on: "${{ matrix.runner }}"
|
|
steps:
|
|
- name: Clean workspace
|
|
shell: bash
|
|
run: |
|
|
echo "${GITHUB_WORKSPACE}"
|
|
sudo rm -rf "${GITHUB_WORKSPACE}"
|
|
mkdir "${GITHUB_WORKSPACE}"
|
|
|
|
# [see note: pytorch repo ref]
|
|
# deep clone (fetch-depth 0) required for git merge-base
|
|
- name: Checkout PyTorch
|
|
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
|
|
|
|
- name: Setup Linux
|
|
uses: ./.github/actions/setup-linux
|
|
|
|
- name: Build docker image
|
|
id: build-docker-image
|
|
uses: pytorch/test-infra/.github/actions/calculate-docker-image@main
|
|
with:
|
|
docker-image-name: ci-image:${{ matrix.docker-image-name }}
|
|
always-rebuild: true
|
|
push: true
|
|
|
|
- name: Push docker image to old name
|
|
shell: bash
|
|
env:
|
|
ECR_DOCKER_IMAGE: ${{ steps.build-docker-image.outputs.docker-image }}
|
|
run: |
|
|
# This can be deleted after people have rebased their PRs/the new name has been in main for a while
|
|
set -euox pipefail
|
|
docker_image_name="308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/${{ matrix.docker-image-name }}"
|
|
foldersha=${ECR_DOCKER_IMAGE##*-}
|
|
docker tag "${ECR_DOCKER_IMAGE}" "${docker_image_name}:${foldersha}"
|
|
docker push "${docker_image_name}:${foldersha}"
|
|
|
|
- name: Pull docker image
|
|
uses: pytorch/test-infra/.github/actions/pull-docker-image@main
|
|
with:
|
|
docker-image: ${{ steps.build-docker-image.outputs.docker-image }}
|
|
|
|
- uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3.0.0
|
|
name: Push to https://ghcr.io/
|
|
id: push-to-ghcr-io
|
|
if: ${{ github.event_name == 'push' }}
|
|
env:
|
|
ECR_DOCKER_IMAGE: ${{ steps.build-docker-image.outputs.docker-image }}
|
|
GHCR_PAT: ${{ secrets.GHCR_PAT }}
|
|
with:
|
|
shell: bash
|
|
timeout_minutes: 30
|
|
max_attempts: 5
|
|
retry_wait_seconds: 90
|
|
command: |
|
|
ghcr_image="ghcr.io/pytorch/ci-image"
|
|
tag=${ECR_DOCKER_IMAGE##*:}
|
|
# Push docker image to the ghcr.io
|
|
echo $GHCR_PAT | docker login ghcr.io -u pytorch --password-stdin
|
|
docker tag "${ECR_DOCKER_IMAGE}" "${ghcr_image}:${tag}"
|
|
docker push "${ghcr_image}:${tag}"
|
|
|
|
- name: Chown workspace
|
|
uses: ./.github/actions/chown-workspace
|
|
with:
|
|
ALPINE_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/${{ contains(matrix.runner, 'arm64') && 'arm64v8' || 'tool' }}/alpine
|
|
if: always()
|
|
|
|
- name: Teardown Linux
|
|
uses: pytorch/test-infra/.github/actions/teardown-linux@main
|
|
if: always()
|