Unverified Commit 8dfed173 authored by Dmitry Tokarev's avatar Dmitry Tokarev Committed by GitHub
Browse files

ci: speed up checkout and upgrade actions (#8064)


Signed-off-by: default avatarDmitry Tokarev <dtokarev@nvidia.com>
Co-authored-by: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
parent a7631b7a
...@@ -41,24 +41,39 @@ outputs: ...@@ -41,24 +41,39 @@ outputs:
runs: runs:
using: "composite" using: "composite"
steps: steps:
- name: Get merge base # Skipped for pull_request events — tj-actions uses the REST API instead.
- name: Get merge base for push events
id: merge-base id: merge-base
if: github.event_name != 'pull_request'
shell: bash shell: bash
env: env:
GH_TOKEN: ${{ inputs.gh_token }} GH_TOKEN: ${{ inputs.gh_token }}
run: | run: |
# For PR branches, compare against merge-base with PR's target branch # How changed-file detection works (callers use fetch-depth: 1):
# For main/release branches, use default behavior (previous commit) #
# pull_request events:
# tj-actions/changed-files calls the GitHub REST API (GET /pulls/{n}/files)
# to list changed files. No git history needed — works with shallow clones.
#
# push to pull-request/N branches:
# The GitHub Compare API returns the true merge-base SHA. We fetch that
# single commit so tj-actions can run `git diff merge-base HEAD` locally.
#
# push to main / release branches:
# base_sha is empty, skip_initial_fetch is false — tj-actions falls back
# to its default behaviour (deepens history and diffs against the previous
# commit). Callers short-circuit outputs to true for main/release anyway.
if [[ "${{ github.ref_name }}" =~ ^pull-request/([0-9]+)$ ]]; then if [[ "${{ github.ref_name }}" =~ ^pull-request/([0-9]+)$ ]]; then
PR_NUMBER="${BASH_REMATCH[1]}" BASE=$(gh pr view "${BASH_REMATCH[1]}" --json baseRefName -q '.baseRefName')
BASE_BRANCH=$(gh pr view "$PR_NUMBER" --json baseRefName -q '.baseRefName') # Compare API returns the true merge-base (fork point), not the branch tip.
echo "PR #$PR_NUMBER targets branch: $BASE_BRANCH" BASE_SHA=$(gh api "repos/${{ github.repository }}/compare/${BASE}...${{ github.sha }}" \
BASE_SHA=$(git merge-base "origin/$BASE_BRANCH" HEAD) --jq '.merge_base_commit.sha')
echo "base_sha=$BASE_SHA" >> $GITHUB_OUTPUT echo "Merge base: $BASE_SHA"
echo "Using merge-base with $BASE_BRANCH: $BASE_SHA" # Fetch the merge-base commit so tj-actions can `git diff` against it.
git fetch --no-tags --depth=1 origin "$BASE_SHA"
echo "base_sha=$BASE_SHA" >> "$GITHUB_OUTPUT"
else else
echo "base_sha=" >> $GITHUB_OUTPUT echo "base_sha=" >> "$GITHUB_OUTPUT"
echo "Using default comparison (previous commit)"
fi fi
- name: Check for changes - name: Check for changes
...@@ -66,7 +81,15 @@ runs: ...@@ -66,7 +81,15 @@ runs:
id: filter id: filter
with: with:
files_yaml_from_source_file: .github/filters.yaml files_yaml_from_source_file: .github/filters.yaml
base_sha: ${{ steps.merge-base.outputs.base_sha }} token: ${{ inputs.gh_token }}
# pull_request: calls GET /pulls/{n}/files — accurate, no git history needed.
use_rest_api: ${{ github.event_name == 'pull_request' }}
# push to pull-request/N: merge-base SHA from Compare API (set above).
# push to main/release: empty — tj-actions uses default (previous commit).
base_sha: ${{ steps.merge-base.outputs.base_sha || '' }}
# When we provide base_sha we've already fetched everything needed.
# When base_sha is empty, let tj-actions fetch history itself.
skip_initial_fetch: ${{ steps.merge-base.outputs.base_sha != '' }}
- name: Debug changed files - name: Debug changed files
shell: bash shell: bash
......
...@@ -98,7 +98,7 @@ jobs: ...@@ -98,7 +98,7 @@ jobs:
cuda_version: ${{ fromJson(inputs.cuda_versions) }} cuda_version: ${{ fromJson(inputs.cuda_versions) }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Build Flavor - name: Build Flavor
......
...@@ -55,9 +55,8 @@ jobs: ...@@ -55,9 +55,8 @@ jobs:
builder_name: ${{ steps.export-builder-name.outputs.builder_name }} builder_name: ${{ steps.export-builder-name.outputs.builder_name }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: # Do not use fetch-depth: 0 — changed-files now works with shallow clone
fetch-depth: 0
- name: Check for changes - name: Check for changes
id: changes id: changes
uses: ./.github/actions/changed-files uses: ./.github/actions/changed-files
...@@ -85,7 +84,7 @@ jobs: ...@@ -85,7 +84,7 @@ jobs:
PLATFORM: "linux/amd64,linux/arm64" PLATFORM: "linux/amd64,linux/arm64"
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Initialize Dynamo Builder - name: Initialize Dynamo Builder
uses: ./.github/actions/init-dynamo-builder uses: ./.github/actions/init-dynamo-builder
with: with:
...@@ -206,7 +205,7 @@ jobs: ...@@ -206,7 +205,7 @@ jobs:
runs-on: prod-builder-v3 runs-on: prod-builder-v3
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -240,7 +239,7 @@ jobs: ...@@ -240,7 +239,7 @@ jobs:
needs: [build-frontend-image, changed-files] needs: [build-frontend-image, changed-files]
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Create K8s builders (skip bootstrap) - name: Create K8s builders (skip bootstrap)
uses: ./.github/actions/bootstrap-buildkit uses: ./.github/actions/bootstrap-buildkit
continue-on-error: true continue-on-error: true
......
...@@ -112,7 +112,7 @@ jobs: ...@@ -112,7 +112,7 @@ jobs:
ECR_HOSTNAME: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com ECR_HOSTNAME: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Initialize Dynamo Builder - name: Initialize Dynamo Builder
uses: ./.github/actions/init-dynamo-builder uses: ./.github/actions/init-dynamo-builder
with: with:
...@@ -170,7 +170,7 @@ jobs: ...@@ -170,7 +170,7 @@ jobs:
needs: [init, vllm-pipeline, sglang-pipeline, trtllm-pipeline, operator] needs: [init, vllm-pipeline, sglang-pipeline, trtllm-pipeline, operator]
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Create K8s builders (skip bootstrap) - name: Create K8s builders (skip bootstrap)
uses: ./.github/actions/bootstrap-buildkit uses: ./.github/actions/bootstrap-buildkit
continue-on-error: true continue-on-error: true
......
...@@ -173,7 +173,7 @@ jobs: ...@@ -173,7 +173,7 @@ jobs:
FRAMEWORK: ${{ inputs.framework }} FRAMEWORK: ${{ inputs.framework }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Compute compliance arches - name: Compute compliance arches
...@@ -250,7 +250,7 @@ jobs: ...@@ -250,7 +250,7 @@ jobs:
FRAMEWORK: ${{ inputs.framework }} FRAMEWORK: ${{ inputs.framework }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Calculate target tag - name: Calculate target tag
id: calculate-target-tag id: calculate-target-tag
shell: bash shell: bash
...@@ -327,7 +327,7 @@ jobs: ...@@ -327,7 +327,7 @@ jobs:
FRAMEWORK: ${{ inputs.framework }} FRAMEWORK: ${{ inputs.framework }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Calculate target tag - name: Calculate target tag
id: calculate-target-tag id: calculate-target-tag
shell: bash shell: bash
...@@ -384,7 +384,7 @@ jobs: ...@@ -384,7 +384,7 @@ jobs:
runs-on: prod-builder-v3 runs-on: prod-builder-v3
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -431,7 +431,7 @@ jobs: ...@@ -431,7 +431,7 @@ jobs:
target_tag_plain: ${{ needs.build.outputs.target_tag_plain }} target_tag_plain: ${{ needs.build.outputs.target_tag_plain }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Copy image to target registry - name: Copy image to target registry
timeout-minutes: ${{ inputs.copy_timeout_minutes }} timeout-minutes: ${{ inputs.copy_timeout_minutes }}
......
...@@ -19,7 +19,7 @@ jobs: ...@@ -19,7 +19,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@v3
......
...@@ -35,9 +35,8 @@ jobs: ...@@ -35,9 +35,8 @@ jobs:
builder_name: ${{ steps.export-builder-name.outputs.builder_name }} builder_name: ${{ steps.export-builder-name.outputs.builder_name }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: # Do not use fetch-depth: 0 — changed-files now works with shallow clone
fetch-depth: 0
- name: Check for changes - name: Check for changes
id: changes id: changes
uses: ./.github/actions/changed-files uses: ./.github/actions/changed-files
...@@ -75,7 +74,7 @@ jobs: ...@@ -75,7 +74,7 @@ jobs:
test_tag_suffix: ${{ steps.define_image_tag.outputs.test_tag_suffix }} test_tag_suffix: ${{ steps.define_image_tag.outputs.test_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Initialize Dynamo Builder - name: Initialize Dynamo Builder
...@@ -166,7 +165,7 @@ jobs: ...@@ -166,7 +165,7 @@ jobs:
IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.runtime_tag_suffix }} IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.runtime_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -211,7 +210,7 @@ jobs: ...@@ -211,7 +210,7 @@ jobs:
IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }} IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -254,7 +253,7 @@ jobs: ...@@ -254,7 +253,7 @@ jobs:
IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }} IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -286,7 +285,7 @@ jobs: ...@@ -286,7 +285,7 @@ jobs:
IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }} IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
...@@ -318,7 +317,7 @@ jobs: ...@@ -318,7 +317,7 @@ jobs:
IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }} IMAGE_TAG: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com/ai-dynamo/dynamo:${{ needs.build.outputs.test_tag_suffix }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
......
...@@ -15,7 +15,7 @@ jobs: ...@@ -15,7 +15,7 @@ jobs:
contents: read contents: read
packages: read packages: read
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Allowlist both variants of the mounted source directory. # Allowlist both variants of the mounted source directory.
- run: git config --global --add safe.directory /__w/dynamo/dynamo - run: git config --global --add safe.directory /__w/dynamo/dynamo
- run: git config --global --add safe.directory /workspace - run: git config --global --add safe.directory /workspace
......
...@@ -15,7 +15,7 @@ jobs: ...@@ -15,7 +15,7 @@ jobs:
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Restore lychee cache - name: Restore lychee cache
id: restore-cache id: restore-cache
...@@ -78,7 +78,7 @@ jobs: ...@@ -78,7 +78,7 @@ jobs:
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
......
...@@ -68,9 +68,8 @@ jobs: ...@@ -68,9 +68,8 @@ jobs:
docs: ${{ steps.changes.outputs.docs }} docs: ${{ steps.changes.outputs.docs }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: # Do not use fetch-depth: 0 — changed-files now works with shallow clone
fetch-depth: 0
- name: Check for changes - name: Check for changes
id: changes id: changes
uses: ./.github/actions/changed-files uses: ./.github/actions/changed-files
...@@ -91,7 +90,7 @@ jobs: ...@@ -91,7 +90,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
...@@ -114,7 +113,7 @@ jobs: ...@@ -114,7 +113,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
...@@ -152,13 +151,13 @@ jobs: ...@@ -152,13 +151,13 @@ jobs:
fi fi
- name: Checkout source branch - name: Checkout source branch
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
path: source-checkout path: source-checkout
fetch-depth: 1 fetch-depth: 1
- name: Checkout docs-website branch - name: Checkout docs-website branch
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
ref: docs-website ref: docs-website
path: docs-checkout path: docs-checkout
...@@ -387,10 +386,9 @@ jobs: ...@@ -387,10 +386,9 @@ jobs:
echo "Processing version: $VERSION (tag: $TAG)" echo "Processing version: $VERSION (tag: $TAG)"
- name: Checkout docs-website branch - name: Checkout docs-website branch
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
ref: docs-website ref: docs-website
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Check if version already exists - name: Check if version already exists
......
...@@ -30,7 +30,7 @@ jobs: ...@@ -30,7 +30,7 @@ jobs:
generate-and-deploy: generate-and-deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Download Allure Results - name: Download Allure Results
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
......
...@@ -26,7 +26,7 @@ jobs: ...@@ -26,7 +26,7 @@ jobs:
contents: read contents: read
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/labeler@v5 - uses: actions/labeler@v5
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
......
...@@ -29,7 +29,7 @@ jobs: ...@@ -29,7 +29,7 @@ jobs:
builder_name: ${{ steps.export-builder-name.outputs.builder_name }} builder_name: ${{ steps.export-builder-name.outputs.builder_name }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Export builder name - name: Export builder name
id: export-builder-name id: export-builder-name
run: | run: |
...@@ -129,7 +129,7 @@ jobs: ...@@ -129,7 +129,7 @@ jobs:
contents: read contents: read
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Register K8s builder context (skip bootstrap) - name: Register K8s builder context (skip bootstrap)
uses: ./.github/actions/bootstrap-buildkit uses: ./.github/actions/bootstrap-buildkit
continue-on-error: true continue-on-error: true
......
...@@ -211,14 +211,15 @@ jobs: ...@@ -211,14 +211,15 @@ jobs:
operator_default_tag: ${{ steps.build.outputs.image_tag }} operator_default_tag: ${{ steps.build.outputs.image_tag }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Do not use fetch-depth: 0 — it fetches all 1600+ branches (~3 min)
- name: Build and push operator - name: Build and push operator
id: build id: build
uses: ./.github/actions/build-deploy-component uses: ./.github/actions/build-deploy-component
with: with:
component: operator component: operator
image_tag: ${{ github.sha }}-operator image_tag: ${{ github.sha }}-operator
builder_name: ${{ needs.changed-files.outputs.builder_name }} builder_name: b-${{ github.run_id }}-${{ github.run_attempt }}
aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }} aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }}
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }} aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
azure_acr_hostname: ${{ secrets.AZURE_ACR_HOSTNAME }} azure_acr_hostname: ${{ secrets.AZURE_ACR_HOSTNAME }}
...@@ -236,13 +237,13 @@ jobs: ...@@ -236,13 +237,13 @@ jobs:
runs-on: prod-default-v2 runs-on: prod-default-v2
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build and push snapshot agent - name: Build and push snapshot agent
uses: ./.github/actions/build-deploy-component uses: ./.github/actions/build-deploy-component
with: with:
component: snapshot component: snapshot
image_tag: ${{ github.sha }}-snapshot-agent image_tag: ${{ github.sha }}-snapshot-agent
builder_name: ${{ needs.changed-files.outputs.builder_name }} builder_name: b-${{ github.run_id }}-${{ github.run_attempt }}
aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }} aws_default_region: ${{ secrets.AWS_DEFAULT_REGION }}
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }} aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
azure_acr_hostname: ${{ secrets.AZURE_ACR_HOSTNAME }} azure_acr_hostname: ${{ secrets.AZURE_ACR_HOSTNAME }}
...@@ -264,7 +265,7 @@ jobs: ...@@ -264,7 +265,7 @@ jobs:
vcluster_name: ${{ steps.setup.outputs.vcluster_name }} vcluster_name: ${{ steps.setup.outputs.vcluster_name }}
operator_tag: ${{ steps.setup.outputs.operator_tag }} operator_tag: ${{ steps.setup.outputs.operator_tag }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup vCluster and operator - name: Setup vCluster and operator
id: setup id: setup
uses: ./.github/actions/setup-dynamo-operator uses: ./.github/actions/setup-dynamo-operator
...@@ -317,7 +318,7 @@ jobs: ...@@ -317,7 +318,7 @@ jobs:
needs: [deploy-operator, deploy-test-vllm, deploy-test-sglang, deploy-test-trtllm, deploy-test-gaie] needs: [deploy-operator, deploy-test-vllm, deploy-test-sglang, deploy-test-trtllm, deploy-test-gaie]
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Teardown vCluster - name: Teardown vCluster
if: needs.deploy-operator.outputs.namespace != '' && needs.deploy-operator.outputs.vcluster_name != '' if: needs.deploy-operator.outputs.namespace != '' && needs.deploy-operator.outputs.vcluster_name != ''
uses: ./.github/actions/teardown-dynamo-operator uses: ./.github/actions/teardown-dynamo-operator
...@@ -338,7 +339,7 @@ jobs: ...@@ -338,7 +339,7 @@ jobs:
contents: read contents: read
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Check if vCluster exists - name: Check if vCluster exists
id: vcluster-check id: vcluster-check
uses: ./.github/actions/check-vcluster-exists uses: ./.github/actions/check-vcluster-exists
...@@ -410,7 +411,7 @@ jobs: ...@@ -410,7 +411,7 @@ jobs:
needs: [vllm-pipeline, sglang-pipeline, trtllm-pipeline, vllm-dev-pipeline, sglang-dev-pipeline, trtllm-dev-pipeline, vllm-efa-pipeline, trtllm-efa-pipeline, operator, frontend-image] needs: [vllm-pipeline, sglang-pipeline, trtllm-pipeline, vllm-dev-pipeline, sglang-dev-pipeline, trtllm-dev-pipeline, vllm-efa-pipeline, trtllm-efa-pipeline, operator, frontend-image]
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Create K8s builders (skip bootstrap) - name: Create K8s builders (skip bootstrap)
uses: ./.github/actions/bootstrap-buildkit uses: ./.github/actions/bootstrap-buildkit
continue-on-error: true continue-on-error: true
......
...@@ -33,9 +33,8 @@ jobs: ...@@ -33,9 +33,8 @@ jobs:
builder_name: ${{ steps.export-builder-name.outputs.builder_name }} builder_name: ${{ steps.export-builder-name.outputs.builder_name }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: # Do not use fetch-depth: 0 — changed-files now works with shallow clone
fetch-depth: 0
- name: Check for changes - name: Check for changes
id: changes id: changes
uses: ./.github/actions/changed-files uses: ./.github/actions/changed-files
...@@ -97,7 +96,8 @@ jobs: ...@@ -97,7 +96,8 @@ jobs:
operator_default_tag: ${{ steps.build.outputs.image_tag }} operator_default_tag: ${{ steps.build.outputs.image_tag }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Do not use fetch-depth: 0 — it fetches all 1600+ branches (~3 min)
- name: Build and push operator - name: Build and push operator
id: build id: build
uses: ./.github/actions/build-deploy-component uses: ./.github/actions/build-deploy-component
...@@ -125,7 +125,8 @@ jobs: ...@@ -125,7 +125,8 @@ jobs:
runs-on: prod-default-v2 runs-on: prod-default-v2
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Do not use fetch-depth: 0 — it fetches all 1600+ branches (~3 min)
- name: Build and push snapshot agent - name: Build and push snapshot agent
uses: ./.github/actions/build-deploy-component uses: ./.github/actions/build-deploy-component
with: with:
...@@ -496,7 +497,7 @@ jobs: ...@@ -496,7 +497,7 @@ jobs:
vcluster_name: ${{ steps.setup.outputs.vcluster_name }} vcluster_name: ${{ steps.setup.outputs.vcluster_name }}
operator_tag: ${{ steps.setup.outputs.operator_tag }} operator_tag: ${{ steps.setup.outputs.operator_tag }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup vCluster and operator - name: Setup vCluster and operator
id: setup id: setup
uses: ./.github/actions/setup-dynamo-operator uses: ./.github/actions/setup-dynamo-operator
...@@ -561,7 +562,7 @@ jobs: ...@@ -561,7 +562,7 @@ jobs:
needs: [deploy-operator, deploy-test-vllm, deploy-test-sglang, deploy-test-trtllm] needs: [deploy-operator, deploy-test-vllm, deploy-test-sglang, deploy-test-trtllm]
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Teardown vCluster - name: Teardown vCluster
if: needs.deploy-operator.outputs.namespace != '' && needs.deploy-operator.outputs.vcluster_name != '' if: needs.deploy-operator.outputs.namespace != '' && needs.deploy-operator.outputs.vcluster_name != ''
uses: ./.github/actions/teardown-dynamo-operator uses: ./.github/actions/teardown-dynamo-operator
...@@ -586,7 +587,7 @@ jobs: ...@@ -586,7 +587,7 @@ jobs:
- trtllm-multi-gpu-test - trtllm-multi-gpu-test
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Create K8s builders (skip bootstrap) - name: Create K8s builders (skip bootstrap)
uses: ./.github/actions/bootstrap-buildkit uses: ./.github/actions/bootstrap-buildkit
continue-on-error: true continue-on-error: true
......
...@@ -34,9 +34,8 @@ jobs: ...@@ -34,9 +34,8 @@ jobs:
rust: ${{ steps.changes.outputs.rust }} rust: ${{ steps.changes.outputs.rust }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: # Do not use fetch-depth: 0 — changed-files now works with shallow clone
fetch-depth: 0
- name: Check for changes - name: Check for changes
id: changes id: changes
uses: ./.github/actions/changed-files uses: ./.github/actions/changed-files
...@@ -57,7 +56,7 @@ jobs: ...@@ -57,7 +56,7 @@ jobs:
permissions: permissions:
contents: read contents: read
steps: steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
timeout-minutes: 3 timeout-minutes: 3
...@@ -72,7 +71,7 @@ jobs: ...@@ -72,7 +71,7 @@ jobs:
permissions: permissions:
contents: read contents: read
steps: steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Set up system dependencies - name: Set up system dependencies
...@@ -128,7 +127,7 @@ jobs: ...@@ -128,7 +127,7 @@ jobs:
permissions: permissions:
contents: read contents: read
steps: steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Verify Cargo lock file is in sync - name: Verify Cargo lock file is in sync
......
...@@ -79,7 +79,8 @@ jobs: ...@@ -79,7 +79,8 @@ jobs:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
steps: steps:
- name: Checkout at source commit - name: Checkout at source commit
uses: actions/checkout@v4 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# fetch-depth: 0 + fetch-tags required here — git tag -l enumerates existing RC tags
with: with:
ref: ${{ needs.prepare-release.outputs.commit_sha }} ref: ${{ needs.prepare-release.outputs.commit_sha }}
fetch-depth: 0 fetch-depth: 0
......
...@@ -121,7 +121,7 @@ jobs: ...@@ -121,7 +121,7 @@ jobs:
test_tag_plain: ${{ steps.calculate-target-tag.outputs.test_tag_plain }} test_tag_plain: ${{ steps.calculate-target-tag.outputs.test_tag_plain }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: with:
lfs: true lfs: true
- name: Docker Login - name: Docker Login
......
...@@ -51,7 +51,7 @@ jobs: ...@@ -51,7 +51,7 @@ jobs:
name: Compliance ${{ matrix.cuda_version == '' && 'cpu' || format('cuda{0}', matrix.cuda_version) }}, ${{ matrix.platform }} name: Compliance ${{ matrix.cuda_version == '' && 'cpu' || format('cuda{0}', matrix.cuda_version) }}, ${{ matrix.platform }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Docker Login - name: Docker Login
uses: ./.github/actions/docker-login uses: ./.github/actions/docker-login
with: with:
......
...@@ -46,7 +46,7 @@ jobs: ...@@ -46,7 +46,7 @@ jobs:
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Calculate target tag - name: Calculate target tag
id: calculate-target-tag id: calculate-target-tag
shell: bash shell: bash
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment