Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 3 additions & 27 deletions .github/workflows/update-runner-runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,43 +33,19 @@ jobs:
- run: npm ci

- name: Update requirements
shell: bash
id: update
env:
RUNNER_KEY: ${{ inputs.runner_key }}
RUNNER_LABEL: ${{ inputs.runner_label }}
RUNNER_TYPE: ${{ inputs.runner_type }}
SKIP_DRY_RUN: ${{ inputs.skip_dry_run }}
run: |
node - <<'NODE'
const fs = require('fs');
const key = process.env.RUNNER_KEY;
const label = process.env.RUNNER_LABEL;
const type = process.env.RUNNER_TYPE;
const skipInput = process.env.SKIP_DRY_RUN;
const files = fs.readdirSync(process.cwd()).filter(f => f.startsWith('requirements') && f.endsWith('.json'));
const updated = [];
for (const file of files) {
const json = JSON.parse(fs.readFileSync(file, 'utf8'));
if (json.runners && json.runners[key]) {
if (label) json.runners[key].runner_label = label;
if (type) json.runners[key].runner_type = type;
if (skipInput) json.runners[key].skip_dry_run = skipInput === 'true';
fs.writeFileSync(file, JSON.stringify(json, null, 2) + '\n');
updated.push(file);
console.log(`Updated ${file}`);
}
}
if (updated.length === 0) {
throw new Error(`Runner ${key} not found`);
}
fs.appendFileSync(process.env.GITHUB_ENV, `REQ_FILES<<EOF\n${updated.join('\n')}\nEOF\n`);
NODE
run: node scripts/update-runner-runtime.js

- name: Commit changes
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
printf '%s\n' "$REQ_FILES" | xargs git add
printf '%s\n' "${{ steps.update.outputs.req_files }}" | xargs git add
git commit -m "chore: update runner runtime for ${{ inputs.runner_key }}" || echo "No changes to commit"
git push

Expand Down
4 changes: 2 additions & 2 deletions artifacts/linux/summary-standard.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### Test Summary
| OS | Passed | Failed | Skipped | Duration (s) | Pass Rate (%) |
| --- | --- | --- | --- | --- | --- |
| overall | 60 | 0 | 0 | 27.60 | 100.00 |
| linux | 60 | 0 | 0 | 27.60 | 100.00 |
| overall | 60 | 0 | 0 | 24.77 | 100.00 |
| linux | 60 | 0 | 0 | 24.77 | 100.00 |

_For detailed per-test information, see [traceability-standard.md](traceability-standard.md)._
4 changes: 2 additions & 2 deletions artifacts/linux/summary.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
### Test Summary
| OS | Passed | Failed | Skipped | Duration (s) | Pass Rate (%) |
| --- | --- | --- | --- | --- | --- |
| overall | 60 | 0 | 0 | 27.60 | 100.00 |
| linux | 60 | 0 | 0 | 27.60 | 100.00 |
| overall | 60 | 0 | 0 | 24.77 | 100.00 |
| linux | 60 | 0 | 0 | 24.77 | 100.00 |

### Requirement Summary
| Requirement ID | Description | Owner | Total Tests | Passed | Failed | Skipped | Pass Rate (%) |
Expand Down
88 changes: 44 additions & 44 deletions artifacts/linux/traceability-standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,55 +4,55 @@

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-023 | parses-nested-junit-structures | Passed | 0.013 | | |
| REQ-023 | parses-nested-junit-structures | Passed | 0.012 | | |

#### REQ-024 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-024 | captures-root-testsuites-attributes | Passed | 0.004 | | |
| REQ-024 | captures-root-testsuites-attributes | Passed | 0.011 | | |

#### REQ-025 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-025 | captures-testsuite-attributes | Passed | 0.011 | | |
| REQ-025 | captures-testsuite-attributes | Passed | 0.008 | | |

#### REQ-026 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-026 | captures-suite-properties | Passed | 0.004 | | |
| REQ-026 | captures-suite-properties | Passed | 0.001 | | |

#### REQ-027 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-027 | captures-testcase-attributes-and-skipped-message | Passed | 0.003 | | |
| REQ-027 | captures-testcase-attributes-and-skipped-message | Passed | 0.002 | | |

#### REQ-028 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-028 | extracts-requirement-identifiers | Passed | 0.009 | | |
| REQ-028 | extracts-requirement-identifiers | Passed | 0.003 | | |

#### REQ-029 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-029 | aggregates-status-by-requirement-and-suite | Passed | 0.017 | | |
| REQ-029 | aggregates-status-by-requirement-and-suite | Passed | 0.002 | | |

#### REQ-030 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-030 | builds-traceability-matrix-with-skipped-reasons | Passed | 0.003 | | |
| REQ-030 | builds-traceability-matrix-with-skipped-reasons | Passed | 0.002 | | |

#### REQ-031 (100% passed)

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-031 | validates-missing-fields | Passed | 0.001 | | |
| REQ-031 | validates-missing-fields | Passed | 0.002 | | |

#### REQ-032 (100% passed)

Expand All @@ -64,60 +64,60 @@

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| REQ-033 | throws-error-for-malformed-xml | Passed | 0.011 | | |
| REQ-033 | throws-error-for-malformed-xml | Passed | 0.002 | | |

<details><summary>Unmapped (100% passed)</summary>

| Requirement | Test ID | Status | Duration (s) | Owner | Evidence |
| --- | --- | --- | --- | --- | --- |
| Unmapped | associates-classname-with-requirement | Passed | 0.022 | | |
| Unmapped | associates-classname-with-requirement | Passed | 0.013 | | |
| Unmapped | buildissuebranchname-formats-branch-name | Passed | 0.002 | | |
| Unmapped | buildissuebranchname-rejects-non-numeric-input | Passed | 0.002 | | |
| Unmapped | buildissuebranchname-rejects-non-numeric-input | Passed | 0.001 | | |
| Unmapped | buildprofile1.iconeditor.addtokentolabview.dispatcher.dry-runs-add-token-to-labview-with-expected-arguments- | Passed | 0.482 | | |
| Unmapped | buildprofile1.iconeditor.applyvipc.dispatcher.dry-runs-apply-vipc-with-expected-arguments- | Passed | 0.042 | | |
| Unmapped | buildprofile1.iconeditor.buildvipackage.dispatcher.dry-runs-build-vi-package-with-expected-arguments- | Passed | 0.106 | | |
| Unmapped | buildprofile1.iconeditor.closelabview.dispatcher.dry-runs-close-labview-with-expected-arguments- | Passed | 0.036 | | |
| Unmapped | buildsummary-splits-totals-by-os | Passed | 0.003 | | |
| Unmapped | collecttestcases-captures-requirement-property | Passed | 0.020 | | |
| Unmapped | collecttestcases-uses-evidence-property-and-falls-back-to-directory-scan | Passed | 0.043 | | |
| Unmapped | collecttestcases-uses-machine-name-property-for-owner | Passed | 0.026 | | |
| Unmapped | buildsummary-splits-totals-by-os | Passed | 0.001 | | |
| Unmapped | collecttestcases-captures-requirement-property | Passed | 0.011 | | |
| Unmapped | collecttestcases-uses-evidence-property-and-falls-back-to-directory-scan | Passed | 0.009 | | |
| Unmapped | collecttestcases-uses-machine-name-property-for-owner | Passed | 0.008 | | |
| Unmapped | computestatuscounts-tallies-test-statuses | Passed | 0.001 | | |
| Unmapped | detects-downloaded-artifacts-path | Passed | 1.538 | | |
| Unmapped | dispatchers-and-parameters-include-descriptions | Passed | 0.009 | | |
| Unmapped | errors-when-strict-unmapped-mode-enabled | Passed | 1.579 | | |
| Unmapped | detects-downloaded-artifacts-path | Passed | 1.280 | | |
| Unmapped | dispatchers-and-parameters-include-descriptions | Passed | 0.003 | | |
| Unmapped | errors-when-strict-unmapped-mode-enabled | Passed | 1.369 | | |
| Unmapped | escapemarkdown-escapes-special-characters | Passed | 0.002 | | |
| Unmapped | escapemarkdown-leaves-plain-text-untouched | Passed | 0.000 | | |
| Unmapped | fails-when-commit-lacks-requirement-reference | Passed | 1.352 | | |
| Unmapped | fails-when-requirement-lacks-test-coverage | Passed | 1.450 | | |
| Unmapped | fails-when-tests-are-unmapped | Passed | 1.472 | | |
| Unmapped | fails-when-tests-reference-unknown-requirements | Passed | 1.554 | | |
| Unmapped | fails-without-runner-metadata | Passed | 1.079 | | |
| Unmapped | formaterror-handles-plain-objects | Passed | 0.001 | | |
| Unmapped | formaterror-handles-primitives | Passed | 0.000 | | |
| Unmapped | fails-when-commit-lacks-requirement-reference | Passed | 1.427 | | |
| Unmapped | fails-when-requirement-lacks-test-coverage | Passed | 1.607 | | |
| Unmapped | fails-when-tests-are-unmapped | Passed | 1.243 | | |
| Unmapped | fails-when-tests-reference-unknown-requirements | Passed | 1.286 | | |
| Unmapped | fails-without-runner-metadata | Passed | 0.861 | | |
| Unmapped | formaterror-handles-plain-objects | Passed | 0.000 | | |
| Unmapped | formaterror-handles-primitives | Passed | 0.001 | | |
| Unmapped | formaterror-handles-real-error-objects | Passed | 0.004 | | |
| Unmapped | formaterror-handles-unstringifiable-values | Passed | 0.001 | | |
| Unmapped | generate-ci-summary-features | Passed | 0.032 | | |
| Unmapped | groups-owners-and-includes-requirements-and-evidence | Passed | 1.600 | | |
| Unmapped | grouptomarkdown-omits-numeric-identifiers | Passed | 0.002 | | |
| Unmapped | generate-ci-summary-features | Passed | 0.037 | | |
| Unmapped | groups-owners-and-includes-requirements-and-evidence | Passed | 1.620 | | |
| Unmapped | grouptomarkdown-omits-numeric-identifiers | Passed | 0.007 | | |
| Unmapped | grouptomarkdown-supports-optional-limit-for-truncation | Passed | 0.001 | | |
| Unmapped | handles-root-level-testcases | Passed | 0.002 | | |
| Unmapped | handles-zipped-junit-artifacts | Passed | 1.209 | | |
| Unmapped | ignores-stale-junit-files-outside-artifacts-path | Passed | 1.377 | | |
| Unmapped | loadrequirements-logs-warning-on-invalid-json | Passed | 0.028 | | |
| Unmapped | loadrequirements-merges-multiple-files | Passed | 0.016 | | |
| Unmapped | loadrequirements-warns-and-skips-invalid-entries | Passed | 0.023 | | |
| Unmapped | logs-a-warning-when-no-junit-files-are-found | Passed | 1.244 | | |
| Unmapped | partitions-requirement-groups-by-runner\_type | Passed | 1.176 | | |
| Unmapped | passes-with-coverage-and-requirement-reference | Passed | 1.810 | | |
| Unmapped | handles-root-level-testcases | Passed | 0.001 | | |
| Unmapped | handles-zipped-junit-artifacts | Passed | 1.056 | | |
| Unmapped | ignores-stale-junit-files-outside-artifacts-path | Passed | 1.163 | | |
| Unmapped | loadrequirements-logs-warning-on-invalid-json | Passed | 0.008 | | |
| Unmapped | loadrequirements-merges-multiple-files | Passed | 0.010 | | |
| Unmapped | loadrequirements-warns-and-skips-invalid-entries | Passed | 0.005 | | |
| Unmapped | logs-a-warning-when-no-junit-files-are-found | Passed | 1.281 | | |
| Unmapped | partitions-requirement-groups-by-runner\_type | Passed | 1.036 | | |
| Unmapped | passes-with-coverage-and-requirement-reference | Passed | 1.508 | | |
| Unmapped | requirementssummarytomarkdown-escapes-pipes-in-description | Passed | 0.001 | | |
| Unmapped | skips-invalid-junit-files-and-still-generates-summary | Passed | 1.907 | | |
| Unmapped | skips-invalid-junit-files-and-still-generates-summary | Passed | 1.681 | | |
| Unmapped | summarytomarkdown-handles-no-tests | Passed | 0.001 | | |
| Unmapped | summarytomarkdown-sorts-os-alphabetically-and-escapes-special-characters | Passed | 0.001 | | |
| Unmapped | throws-when-no-junit-files-found-and-strict-mode-enabled | Passed | 1.070 | | |
| Unmapped | uses-latest-artifact-directory-when-multiple-are-present | Passed | 1.549 | | |
| Unmapped | warns-when-all-tests-are-unmapped | Passed | 1.826 | | |
| Unmapped | writeerrorsummary-appends-error-details-to-summary-file | Passed | 0.012 | | |
| Unmapped | throws-when-no-junit-files-found-and-strict-mode-enabled | Passed | 0.840 | | |
| Unmapped | uses-latest-artifact-directory-when-multiple-are-present | Passed | 1.125 | | |
| Unmapped | warns-when-all-tests-are-unmapped | Passed | 1.550 | | |
| Unmapped | writeerrorsummary-appends-error-details-to-summary-file | Passed | 0.005 | | |
| Unmapped | writeerrorsummary-skips-summary-file-for-non-error-throws | Passed | 0.004 | | |
| Unmapped | writes-outputs-to-os-specific-directory | Passed | 1.808 | | |
| Unmapped | writes-outputs-to-os-specific-directory | Passed | 1.985 | | |

</details>
Loading
Loading