Skip to content

fix: inframework e2e job uses matrix context without strategy block - #749

Open
andrewwhitecdw wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
andrewwhitecdw:bugfix/cicd-main-inframework-e2e-job-uses-matrix
Open

fix: inframework e2e job uses matrix context without strategy block#749
andrewwhitecdw wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
andrewwhitecdw:bugfix/cicd-main-inframework-e2e-job-uses-matrix

Conversation

@andrewwhitecdw

Copy link
Copy Markdown
Contributor

This PR addresses the following issue in .github/workflows/cicd-main.yml: inframework e2e job uses matrix context without strategy block.

Changes

  • .github/workflows/cicd-main.yml: inframework e2e job uses matrix context without strategy block.

Details

--- a/.github/workflows/cicd-main.yml
+++ b/.github/workflows/cicd-main.yml
@@ -1,6 +1,12 @@
-  cicd-e2e-tests-inframework:
-    needs: [pre-flight, cicd-unit-tests-vllm]
-    runs-on: ${{ needs.pre-flight.outputs.runner_prefix }}
-    name: ${{ matrix.is_optional && 'PLEASEFIXME_' || '' }}${{ matrix.script }}
-    environment: nemo-ci
-    if: |
+  cicd-e2e-tests-inframework:
+    needs: [pre-flight, cicd-unit-tests-vllm]
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - script: L2_Launch_InFramework
+            is_optional: false
+    runs-on: ${{ needs.pre-flight.outputs.runner_prefix }}
+    name: ${{ matrix.is_optional && 'PLEASEFIXME_' || '' }}${{ matrix.script }}
+    environment: nemo-ci
+    if: |

Tests

  • tests/test_cicd_yaml.py
diff --git a/tests/test_cicd_yaml.py b/tests/test_cicd_yaml.py
new file mode 100644
index 0000000..0000000
--- /dev/null
+++ b/tests/test_cicd_yaml.py
@@ -0,0 +1,35 @@
+# Copyright (c) 2025, NVIDIA CORPORATION.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from pathlib import Path
+
+import yaml
+
+WORKFLOW_FILE = Path(__file__).resolve().parents[1] / ".github" / "workflows" / "cicd-main.yml"
+
+
+def test_inframework_e2e_job_has_matching_matrix():
+    """Regression test for the inframework e2e job referencing matrix values without a strategy block."""
+    workflow = yaml.safe_load(WORKFLOW_FILE.read_text())
+    job = workflow["jobs"]["cicd-e2e-tests-inframework"]
+
+    assert "strategy" in job, "inframework e2e job must define a strategy block"
+    assert "matrix" in job["strategy"], "strategy block must define a matrix"
+
+    include = job["strategy"]["matrix"].get("include", [])
+    assert len(include) == 1, "expected exactly one matrix include for the inframework e2e job"
+    matrix = include[0]
+    assert matrix["script"] == "L2_Launch_InFramework"
+    assert matrix["is_optional"] is False
+
+    assert "${{ matrix.script }}" in job["name"]
+
+    main_step = next(step for step in job["steps"] if step.get("name") == "main")
+    assert main_step["uses"] == "./.github/actions/test-template"
+    assert main_step["with"]["script"] == matrix["script"]
+    assert main_step["with"]["is_optional"] == "${{ matrix.is_optional || false }}"

Contributor guidelines

Per this repo's CONTRIBUTING.md:

  • All commits are signed off (Signed-off-by trailer, DCO).

Signed-off-by: andrewwhitecdw <andrewwhitecdw@users.noreply.github.com>
@andrewwhitecdw
andrewwhitecdw requested a review from a team as a code owner August 17, 2026 20:19
@copy-pr-bot

copy-pr-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant