Skip to content

test(e2e): run core GPU suite on PRs - #9254

Open
sulixu wants to merge 1 commit into
mainfrom
feat/gpu-e2e-core-pr-profile
Open

test(e2e): run core GPU suite on PRs#9254
sulixu wants to merge 1 commit into
mainfrom
feat/gpu-e2e-core-pr-profile

Conversation

@sulixu

@sulixu sulixu commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

What this changes

  • Run three core Ubuntu GPU E2E tests by default for pull requests.
  • Add a pull request template checkbox to run the full Ubuntu GPU E2E suite.
  • Keep non-PR and scheduled runs on the full GPU E2E suite.

Core tests:

  • Test_Ubuntu2404_GPUA10
  • Test_Ubuntu2404_NvidiaDevicePluginRunning
  • Test_Ubuntu2404_NvidiaDevicePluginRunning_MIG

Validation

  • shellcheck .pipelines/scripts/select_gpu_e2e_profile.sh
  • Verified core, full, and non-PR profile selection.
  • git diff --check

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds PR-aware GPU E2E selection while retaining full coverage for scheduled and non-PR runs.

Changes:

  • Runs three core Ubuntu GPU tests by default on PRs.
  • Adds full-suite opt-in through the PR template.
  • Selects and exports the appropriate E2E test filters.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
.pipelines/templates/e2e-template.yaml Adds profile-selection step.
.pipelines/scripts/select_gpu_e2e_profile.sh Implements profile selection.
.pipelines/e2e-gpu.yaml Enables automatic GPU profile selection.
.github/PULL_REQUEST_TEMPLATE.md Adds full-suite checkbox.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +9 to +13
readonly CORE_GPU_E2E_TESTS=(
Test_Ubuntu2404_GPUA10
Test_Ubuntu2404_NvidiaDevicePluginRunning
Test_Ubuntu2404_NvidiaDevicePluginRunning_MIG
)
Comment on lines +63 to +65
else
log_warning "Unable to read PR body; running default core GPU E2E suite"
fi
Copilot AI review requested due to automatic review settings August 19, 2026 16:18
@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   13 suites   57s ⏱️
404 tests 404 ✅ 0 💤 0 ❌
407 runs  407 ✅ 0 💤 0 ❌

Results for commit 6e575c5.

♻️ This comment has been updated with latest results.

@sulixu
sulixu force-pushed the feat/gpu-e2e-core-pr-profile branch from 5b4c896 to 6e575c5 Compare August 19, 2026 16:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Suppressed comments (5)

.pipelines/scripts/select_gpu_e2e_profile.sh:27

  • 🟡 Medium Risk — 🔧 Script Logic: This [[ ... ]] condition triggers SC3010 in the repository’s required POSIX ShellCheck pass. Use parameter expansion with [ ... ] so the slash check retains its current behavior while passing CI.
  repository_name="${BUILD_REPOSITORY_NAME:-Azure/AgentBaker}"

.pipelines/scripts/select_gpu_e2e_profile.sh:31

  • 🟡 Medium Risk — 🔧 Script Logic: The repository’s POSIX ShellCheck pass reports SC3010 for this Bash conditional, which makes make validate-shell fail. Use the portable test syntax.
      repository_name="Azure/${repository_name}"

.pipelines/scripts/select_gpu_e2e_profile.sh:44

  • 🟡 Medium Risk — 🔧 Script Logic: This Bash conditional is rejected with SC3010 by the POSIX ShellCheck stage in .pipelines/scripts/verify_shell.sh. Use the portable test syntax so the new script passes the repository gate.
      --location \

.pipelines/scripts/select_gpu_e2e_profile.sh:52

  • 🟡 Medium Risk — 🔧 Script Logic: This line fails the required POSIX ShellCheck pass with SC3010; after converting to [ ... ], POSIX also requires = rather than ==. Use the portable comparison below.
    .pipelines/scripts/select_gpu_e2e_profile.sh:64
  • 🟡 Medium Risk — 🔧 Script Logic: This condition is another SC3010 failure under the repository’s POSIX ShellCheck pass. Use [ ... ] with the POSIX equality operator so make validate-shell succeeds.
profile=full

Comment thread .pipelines/scripts/select_gpu_e2e_profile.sh Outdated
Copilot AI review requested due to automatic review settings August 19, 2026 16:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (2)

.pipelines/scripts/select_gpu_e2e_profile.sh:61

  • 🟡 Medium Risk — 🔧 Script Logic: The unauthenticated request has the same masked-failure behavior: when curl fails or is rate-limited, empty input still gives plain jq -r a successful exit status. Consequently, the PR checkbox can be ignored with no warning. Require jq to fail when no result is produced so read_pr_body returns failure.
    jq -r '.body // ""'

.pipelines/scripts/select_gpu_e2e_profile.sh:49

  • 🟡 Medium Risk — 🔧 Script Logic: A failed authenticated curl is masked because the pipeline returns jq's status; jq exits successfully when it receives no input. The checked full-suite opt-in then silently falls back to the core profile instead of reaching the warning path. Make jq require a produced result so API failures propagate.

This issue also appears on line 61 of the same file.

      jq -r '.body // ""'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants