Skip to content

nightly

nightly #1243

Workflow file for this run

# Owner(s): ["oncall: releng"]
name: nightly
on:
schedule:
- cron: 0 0 * * *
push:
tags:
# NOTE: Doc build pipelines should only get triggered on:
# Major or minor release candidates builds
- v[0-9]+.[0-9]+.0+-rc[0-9]+
# Final RC for major, minor and patch releases
- v[0-9]+.[0-9]+.[0-9]+
- ciflow/nightly/*
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}--${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
permissions:
id-token: write
contents: read
actions: read
jobs:
get-label-type:
name: get-label-type
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
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 }}
check_experiments: arc,lf
link-check:
name: Link checks
needs: get-label-type
uses: ./.github/workflows/_link_check.yml
with:
runner: ${{ needs.get-label-type.outputs.label-type }}
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/ci-image:pytorch-linux-jammy-linter-${{ needs.get-label-type.outputs.ci-docker-hash }}
ref: ${{ github.sha }}
secrets: inherit
docs-build:
name: docs build
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build-environment: linux-jammy-py3.10-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-clang18
ci-docker-hash: ${{ needs.get-label-type.outputs.ci-docker-hash }}
use-arc: true
python-version: "3.10"
compiler: gcc11
secrets: inherit
docs-push:
name: docs push
uses: ./.github/workflows/_docs.yml
needs:
- docs-build
- get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build-environment: linux-jammy-py3.10-gcc11
docker-image: ${{ needs.docs-build.outputs.docker-image }}
push: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.event.ref, 'refs/tags/v') }}
run-doxygen: true
use-arc: true
python-version: "3.10"
compiler: gcc11
secrets:
GH_PYTORCHBOT_TOKEN: ${{ secrets.GH_PYTORCHBOT_TOKEN }}
update-metamates-rule:
if: github.repository_owner == 'pytorch' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
environment: update-commit-hash
steps:
- name: Checkout repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
token: ${{ secrets.UPDATEBOT_TOKEN }}
- name: Setup Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.10'
- name: Install requirements
run: pip install pyyaml==6.0.2
- name: Update metamates rule
env:
GH_TOKEN: ${{ secrets.UPDATEBOT_TOKEN }}
run: |
python .github/scripts/update_metamates_rule.py
- name: Create or update PR
env:
GH_TOKEN: ${{ secrets.UPDATEBOT_TOKEN }}
PYTORCHBOT_TOKEN: ${{ secrets.GH_PYTORCHBOT_TOKEN }}
run: |
if git diff --quiet; then
echo "No changes detected"
exit 0
fi
git config user.name "PyTorch UpdateBot"
git config user.email "pytorchupdatebot@users.noreply.github.com"
BRANCH="update-metamates-rule"
TITLE="Update Metamates merge rule"
EXISTING=$(gh pr list --author pytorchupdatebot --search "$TITLE" --state open --json number --jq '.[0].number')
if [ -n "$EXISTING" ]; then
BRANCH=$(gh pr view "$EXISTING" --json headRefName --jq '.headRefName')
fi
git checkout -b "$BRANCH"
git add .github/merge_rules.yaml
git commit -m "Update Metamates merge rule"
git push --set-upstream origin "$BRANCH" -f
if [ -z "$EXISTING" ]; then
gh pr create \
--title "$TITLE" \
--body "$(cat <<'EOF'
This PR is auto-generated nightly by [this action](https://github.com/pytorch/pytorch/blob/main/.github/workflows/nightly.yml).
Updates the Metamates merge rule with active team members.
EOF
)"
fi
update-commit-hashes:
runs-on: ubuntu-latest
environment: update-commit-hash
strategy:
fail-fast: false
matrix:
include:
- repo-name: vision
repo-owner: pytorch
branch: main
pin-folder: .github/ci_commit_pins
- repo-name: audio
repo-owner: pytorch
branch: main
pin-folder: .github/ci_commit_pins
# executorch jobs are disabled since it needs some manual work for the hash update
# - repo-name: executorch
# repo-owner: pytorch
# branch: main
# pin-folder: .ci/docker/ci_commit_pins
- repo-name: triton
repo-owner: triton-lang
branch: main
pin-folder: .ci/docker/ci_commit_pins
- repo-name: vllm
repo-owner: vllm-project
branch: main
pin-folder: .github/ci_commit_pins
- repo-name: torchtitan
repo-owner: pytorch
branch: main
pin-folder: .github/ci_commit_pins
- repo-name: torchcomms
repo-owner: meta-pytorch
branch: main
pin-folder: .github/ci_commit_pins
# Allow this to be triggered on either a schedule or on workflow_dispatch to allow for easier testing
if: github.repository_owner == 'pytorch' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
steps:
- name: "${{ matrix.repo-owner }}/${{ matrix.repo-name }} update-commit-hash"
uses: pytorch/test-infra/.github/actions/update-commit-hash@main
with:
repo-owner: ${{ matrix.repo-owner }}
repo-name: ${{ matrix.repo-name }}
branch: ${{ matrix.branch }}
pin-folder: ${{ matrix.pin-folder}}
updatebot-token: ${{ secrets.UPDATEBOT_TOKEN }}
pytorchbot-token: ${{ secrets.GH_PYTORCHBOT_TOKEN }}