diff --git a/.changeset/patch-skip-empty-threat-detection.md b/.changeset/patch-skip-empty-threat-detection.md new file mode 100644 index 00000000000..4de9ea08974 --- /dev/null +++ b/.changeset/patch-skip-empty-threat-detection.md @@ -0,0 +1,5 @@ +--- +"gh-aw": patch +--- + +Skip running threat detection and downstream safe outputs when the agent produces no outputs and no patch, while still allowing cache and repo memory updates when detection is skipped. diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml index ef036e0a9a4..4d4844a5404 100644 --- a/.github/workflows/agent-performance-analyzer.lock.yml +++ b/.github/workflows/agent-performance-analyzer.lock.yml @@ -1038,7 +1038,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1216,7 +1217,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/agent-persona-explorer.lock.yml b/.github/workflows/agent-persona-explorer.lock.yml index 7d30065fe64..36566ee0d9c 100644 --- a/.github/workflows/agent-persona-explorer.lock.yml +++ b/.github/workflows/agent-persona-explorer.lock.yml @@ -976,7 +976,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1236,7 +1237,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/agentic-observability-kit.lock.yml b/.github/workflows/agentic-observability-kit.lock.yml index 69c3599ab95..b5235a50cb0 100644 --- a/.github/workflows/agentic-observability-kit.lock.yml +++ b/.github/workflows/agentic-observability-kit.lock.yml @@ -987,7 +987,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index f1525732294..6a7ec4b77ff 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -961,7 +961,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index e17d3079fda..0d00b28dd3b 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -869,7 +869,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index a6c6f32123c..cff491023d2 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -1121,7 +1121,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1281,7 +1282,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1439,7 +1440,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/auto-triage-issues.lock.yml b/.github/workflows/auto-triage-issues.lock.yml index 10a128c2349..f8985006bb5 100644 --- a/.github/workflows/auto-triage-issues.lock.yml +++ b/.github/workflows/auto-triage-issues.lock.yml @@ -919,7 +919,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index caa91b38988..72c7a26c7b6 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -989,7 +989,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 1591437a6b9..b2283e300b9 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -953,7 +953,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml index eb37fb132bd..c7f24e678bc 100644 --- a/.github/workflows/breaking-change-checker.lock.yml +++ b/.github/workflows/breaking-change-checker.lock.yml @@ -906,7 +906,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml index 4c86c777a8b..b230b2056da 100644 --- a/.github/workflows/ci-coach.lock.yml +++ b/.github/workflows/ci-coach.lock.yml @@ -977,7 +977,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1239,7 +1240,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 6e557f39d5e..1bcc7504521 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -1120,7 +1120,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1386,7 +1387,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/claude-code-user-docs-review.lock.yml b/.github/workflows/claude-code-user-docs-review.lock.yml index 3b0a669146e..989ed82c372 100644 --- a/.github/workflows/claude-code-user-docs-review.lock.yml +++ b/.github/workflows/claude-code-user-docs-review.lock.yml @@ -950,7 +950,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1194,7 +1195,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index a1c948c92c9..a4d05566963 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -864,7 +864,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 393510581fd..72a4729c778 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -955,7 +955,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1199,7 +1200,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index edb2501f5ec..98b38837858 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -1294,7 +1294,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1617,7 +1618,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/code-scanning-fixer.lock.yml b/.github/workflows/code-scanning-fixer.lock.yml index 4caa38c7dd0..0844462ac3b 100644 --- a/.github/workflows/code-scanning-fixer.lock.yml +++ b/.github/workflows/code-scanning-fixer.lock.yml @@ -965,7 +965,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1156,7 +1157,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1345,7 +1346,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/code-simplifier.lock.yml b/.github/workflows/code-simplifier.lock.yml index 4034efebf59..3af157baeed 100644 --- a/.github/workflows/code-simplifier.lock.yml +++ b/.github/workflows/code-simplifier.lock.yml @@ -914,7 +914,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index f29b224e851..11fbdd3c9c4 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -919,7 +919,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/constraint-solving-potd.lock.yml b/.github/workflows/constraint-solving-potd.lock.yml index d24de60da8d..2ef7ca385c0 100644 --- a/.github/workflows/constraint-solving-potd.lock.yml +++ b/.github/workflows/constraint-solving-potd.lock.yml @@ -871,7 +871,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1099,7 +1100,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/contribution-check.lock.yml b/.github/workflows/contribution-check.lock.yml index b5a93939e83..1be81f50493 100644 --- a/.github/workflows/contribution-check.lock.yml +++ b/.github/workflows/contribution-check.lock.yml @@ -914,7 +914,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 8b8ebd3efbc..b59edefa274 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -1001,7 +1001,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1161,7 +1162,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1318,7 +1319,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/copilot-cli-deep-research.lock.yml b/.github/workflows/copilot-cli-deep-research.lock.yml index fc422fa4c03..af9609ba485 100644 --- a/.github/workflows/copilot-cli-deep-research.lock.yml +++ b/.github/workflows/copilot-cli-deep-research.lock.yml @@ -930,7 +930,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1076,7 +1077,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index 68d2bd046c5..d633f7c52a5 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -1046,7 +1046,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1275,7 +1276,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index 8ad20d7c7cb..bf7df9e63d8 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -1014,7 +1014,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1160,7 +1161,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1317,7 +1318,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index 88ff5024e10..c88f09137d8 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -950,7 +950,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1096,7 +1097,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1253,7 +1254,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 81cc17fa5cf..e06ad31ac7c 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -1064,7 +1064,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1224,7 +1225,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1381,7 +1382,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index ce48125c94c..7378792c179 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -954,7 +954,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-architecture-diagram.lock.yml b/.github/workflows/daily-architecture-diagram.lock.yml index 62439b39a94..148f654debb 100644 --- a/.github/workflows/daily-architecture-diagram.lock.yml +++ b/.github/workflows/daily-architecture-diagram.lock.yml @@ -950,7 +950,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1213,7 +1214,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index 20770a7e6c7..69cdaa235bf 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -870,7 +870,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml index a0d47869c26..c45a62b5ed8 100644 --- a/.github/workflows/daily-choice-test.lock.yml +++ b/.github/workflows/daily-choice-test.lock.yml @@ -910,7 +910,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml index 10215c58c53..f3d842130d3 100644 --- a/.github/workflows/daily-cli-performance.lock.yml +++ b/.github/workflows/daily-cli-performance.lock.yml @@ -1122,7 +1122,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1322,7 +1323,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/daily-cli-tools-tester.lock.yml b/.github/workflows/daily-cli-tools-tester.lock.yml index 2e94233c9e7..03edf04b32a 100644 --- a/.github/workflows/daily-cli-tools-tester.lock.yml +++ b/.github/workflows/daily-cli-tools-tester.lock.yml @@ -953,7 +953,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 0e0a2d6fa15..160f4a440d9 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -1042,7 +1042,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1202,7 +1203,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1360,7 +1361,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-community-attribution.lock.yml b/.github/workflows/daily-community-attribution.lock.yml index 18b71435f47..f8aac5d747c 100644 --- a/.github/workflows/daily-community-attribution.lock.yml +++ b/.github/workflows/daily-community-attribution.lock.yml @@ -977,7 +977,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1122,7 +1123,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml index b515b4cfe3b..4ef84be3d7a 100644 --- a/.github/workflows/daily-compiler-quality.lock.yml +++ b/.github/workflows/daily-compiler-quality.lock.yml @@ -935,7 +935,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1165,7 +1166,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml index b811226ac55..057ba5d550e 100644 --- a/.github/workflows/daily-copilot-token-report.lock.yml +++ b/.github/workflows/daily-copilot-token-report.lock.yml @@ -1022,7 +1022,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1168,7 +1169,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1326,7 +1327,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-doc-healer.lock.yml b/.github/workflows/daily-doc-healer.lock.yml index 31a2589b219..97ce9c28d0d 100644 --- a/.github/workflows/daily-doc-healer.lock.yml +++ b/.github/workflows/daily-doc-healer.lock.yml @@ -1099,7 +1099,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1463,7 +1464,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index d13bd6b1543..546e5d6e177 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -1060,7 +1060,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1405,7 +1406,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index c140f6c665a..13ff5bc7b03 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -901,7 +901,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest outputs: detection_conclusion: ${{ steps.detection_conclusion.outputs.conclusion }} diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index 91f89dd7b17..a7e819e3395 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -928,7 +928,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index 56d199639b7..7fc66e72236 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -1032,7 +1032,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1261,7 +1262,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-function-namer.lock.yml b/.github/workflows/daily-function-namer.lock.yml index e5ebc80922e..a91cd0ce8b5 100644 --- a/.github/workflows/daily-function-namer.lock.yml +++ b/.github/workflows/daily-function-namer.lock.yml @@ -979,7 +979,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1224,7 +1225,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-integrity-analysis.lock.yml b/.github/workflows/daily-integrity-analysis.lock.yml index 4da576e6c9a..cfb3279ba0d 100644 --- a/.github/workflows/daily-integrity-analysis.lock.yml +++ b/.github/workflows/daily-integrity-analysis.lock.yml @@ -1037,7 +1037,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1266,7 +1267,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index aff08b22f70..9b4d98fa83b 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -1023,7 +1023,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1281,7 +1282,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml index fcd04809c22..9028fcd5272 100644 --- a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml +++ b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml @@ -955,7 +955,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1200,7 +1201,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index 0e6f795d99c..127281a8355 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -1035,7 +1035,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index acb6d729e5c..c1a0c447e27 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -1090,7 +1090,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1236,7 +1237,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1394,7 +1395,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml index e5c09ae49d1..0cabd4494d8 100644 --- a/.github/workflows/daily-observability-report.lock.yml +++ b/.github/workflows/daily-observability-report.lock.yml @@ -996,7 +996,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index 76f8b8dced4..7e2bc709dcb 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -1474,7 +1474,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1703,7 +1704,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-regulatory.lock.yml b/.github/workflows/daily-regulatory.lock.yml index 2c5950f5e3b..d3794cc01b5 100644 --- a/.github/workflows/daily-regulatory.lock.yml +++ b/.github/workflows/daily-regulatory.lock.yml @@ -1395,7 +1395,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-rendering-scripts-verifier.lock.yml b/.github/workflows/daily-rendering-scripts-verifier.lock.yml index 96f8ba2621a..05d413ac285 100644 --- a/.github/workflows/daily-rendering-scripts-verifier.lock.yml +++ b/.github/workflows/daily-rendering-scripts-verifier.lock.yml @@ -1089,7 +1089,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1410,7 +1411,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index ec51f322fcd..d595dca6c67 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -953,7 +953,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1183,7 +1184,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-safe-output-integrator.lock.yml b/.github/workflows/daily-safe-output-integrator.lock.yml index 2a63327468f..1a70660227f 100644 --- a/.github/workflows/daily-safe-output-integrator.lock.yml +++ b/.github/workflows/daily-safe-output-integrator.lock.yml @@ -933,7 +933,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-safe-output-optimizer.lock.yml b/.github/workflows/daily-safe-output-optimizer.lock.yml index f983ef80f75..2464e2596a6 100644 --- a/.github/workflows/daily-safe-output-optimizer.lock.yml +++ b/.github/workflows/daily-safe-output-optimizer.lock.yml @@ -1060,7 +1060,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1349,7 +1350,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-safe-outputs-conformance.lock.yml b/.github/workflows/daily-safe-outputs-conformance.lock.yml index be11e40a720..0ca170fbf72 100644 --- a/.github/workflows/daily-safe-outputs-conformance.lock.yml +++ b/.github/workflows/daily-safe-outputs-conformance.lock.yml @@ -922,7 +922,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-secrets-analysis.lock.yml b/.github/workflows/daily-secrets-analysis.lock.yml index 75714b1448e..d9597945ee8 100644 --- a/.github/workflows/daily-secrets-analysis.lock.yml +++ b/.github/workflows/daily-secrets-analysis.lock.yml @@ -900,7 +900,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-security-red-team.lock.yml b/.github/workflows/daily-security-red-team.lock.yml index 5bcac9a89ca..65f0358f506 100644 --- a/.github/workflows/daily-security-red-team.lock.yml +++ b/.github/workflows/daily-security-red-team.lock.yml @@ -926,7 +926,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-semgrep-scan.lock.yml b/.github/workflows/daily-semgrep-scan.lock.yml index aa3abb4c412..f3e15c22e76 100644 --- a/.github/workflows/daily-semgrep-scan.lock.yml +++ b/.github/workflows/daily-semgrep-scan.lock.yml @@ -902,7 +902,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml index 0cb048f8fb7..4b9d67f1539 100644 --- a/.github/workflows/daily-syntax-error-quality.lock.yml +++ b/.github/workflows/daily-syntax-error-quality.lock.yml @@ -909,7 +909,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-team-evolution-insights.lock.yml b/.github/workflows/daily-team-evolution-insights.lock.yml index 4bf5108e310..766822660ea 100644 --- a/.github/workflows/daily-team-evolution-insights.lock.yml +++ b/.github/workflows/daily-team-evolution-insights.lock.yml @@ -921,7 +921,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 37ec1440495..93893e798e7 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -898,7 +898,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml index 9f4ee880d26..45b94a07233 100644 --- a/.github/workflows/daily-testify-uber-super-expert.lock.yml +++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml @@ -966,7 +966,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1157,7 +1158,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index 07e74f2b350..d1b1c43f3cb 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -890,7 +890,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/dead-code-remover.lock.yml b/.github/workflows/dead-code-remover.lock.yml index 6fdbc02a0ff..c99174c6561 100644 --- a/.github/workflows/dead-code-remover.lock.yml +++ b/.github/workflows/dead-code-remover.lock.yml @@ -937,7 +937,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1243,7 +1244,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 922a3ff9e81..1e4e4dcdfbf 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -1113,7 +1113,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1255,7 +1256,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1415,7 +1416,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/delight.lock.yml b/.github/workflows/delight.lock.yml index 854fa462f34..e04f22c64c1 100644 --- a/.github/workflows/delight.lock.yml +++ b/.github/workflows/delight.lock.yml @@ -975,7 +975,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1121,7 +1122,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/dependabot-burner.lock.yml b/.github/workflows/dependabot-burner.lock.yml index 6d2662b1bef..9e46bd51a24 100644 --- a/.github/workflows/dependabot-burner.lock.yml +++ b/.github/workflows/dependabot-burner.lock.yml @@ -878,7 +878,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index 80872aa2320..ce9c75f99ea 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -896,7 +896,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 92c578fd9f5..a45141cf619 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -972,7 +972,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index c4a899b577e..c4dc18f8c24 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -998,7 +998,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index ae4342fe6cb..f032932e41e 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -1154,7 +1154,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1383,7 +1384,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1573,7 +1574,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index e4e4dce2322..f3550b1a95b 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -954,7 +954,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/discussion-task-miner.lock.yml b/.github/workflows/discussion-task-miner.lock.yml index 5ee2667dfa1..753bb562781 100644 --- a/.github/workflows/discussion-task-miner.lock.yml +++ b/.github/workflows/discussion-task-miner.lock.yml @@ -960,7 +960,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1106,7 +1107,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index 0c04c2ec6fd..528be601002 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -921,7 +921,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/draft-pr-cleanup.lock.yml b/.github/workflows/draft-pr-cleanup.lock.yml index ef922690e59..4bb41e668b0 100644 --- a/.github/workflows/draft-pr-cleanup.lock.yml +++ b/.github/workflows/draft-pr-cleanup.lock.yml @@ -906,7 +906,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml index a3d0a2089f1..e4c20231766 100644 --- a/.github/workflows/duplicate-code-detector.lock.yml +++ b/.github/workflows/duplicate-code-detector.lock.yml @@ -933,7 +933,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index db5c9125338..c9115ca03e6 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -988,7 +988,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/firewall-escape.lock.yml b/.github/workflows/firewall-escape.lock.yml index e41eaeed0fc..9f412cab341 100644 --- a/.github/workflows/firewall-escape.lock.yml +++ b/.github/workflows/firewall-escape.lock.yml @@ -950,7 +950,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1169,7 +1170,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1326,7 +1327,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/functional-pragmatist.lock.yml b/.github/workflows/functional-pragmatist.lock.yml index d753e6ee1f1..5e4d3c4ac60 100644 --- a/.github/workflows/functional-pragmatist.lock.yml +++ b/.github/workflows/functional-pragmatist.lock.yml @@ -904,7 +904,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index 2a3f818617b..cc3a675a1a1 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -1000,7 +1000,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1243,7 +1244,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index 14593253cbc..6431d8d8ad6 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -1002,7 +1002,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1278,7 +1279,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/github-remote-mcp-auth-test.lock.yml b/.github/workflows/github-remote-mcp-auth-test.lock.yml index 9b7e83ea020..edb341e648b 100644 --- a/.github/workflows/github-remote-mcp-auth-test.lock.yml +++ b/.github/workflows/github-remote-mcp-auth-test.lock.yml @@ -879,7 +879,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 38b65db75b8..1003119814f 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -1057,7 +1057,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1271,7 +1272,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1460,7 +1461,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index a89634dd3d4..b54990ffdbc 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -993,7 +993,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1237,7 +1238,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index ff95d8b3534..6a8f6a8d91e 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -1163,7 +1163,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1438,7 +1439,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index 4e65d975c35..0d18cd5fa3d 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -988,7 +988,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/gpclean.lock.yml b/.github/workflows/gpclean.lock.yml index 9ad937167e4..34e1aefe40b 100644 --- a/.github/workflows/gpclean.lock.yml +++ b/.github/workflows/gpclean.lock.yml @@ -906,7 +906,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1135,7 +1136,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index f8eaa9350f5..a579f18186b 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -1001,7 +1001,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1270,7 +1271,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/hourly-ci-cleaner.lock.yml b/.github/workflows/hourly-ci-cleaner.lock.yml index 6abbc3d6a20..278abcae985 100644 --- a/.github/workflows/hourly-ci-cleaner.lock.yml +++ b/.github/workflows/hourly-ci-cleaner.lock.yml @@ -1013,7 +1013,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index 95db8e401a2..1618c1f2843 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -984,7 +984,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1259,7 +1260,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index 1ee651c0bb3..b1e73bafacf 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -944,7 +944,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index 83770386bdb..d8a86e61369 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -1266,7 +1266,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index f19c093ac27..852b471da3d 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -862,7 +862,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml index a0fc3094ba2..f088a56fcad 100644 --- a/.github/workflows/jsweep.lock.yml +++ b/.github/workflows/jsweep.lock.yml @@ -947,7 +947,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1208,7 +1209,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml index 33211da98a1..55004e3857e 100644 --- a/.github/workflows/layout-spec-maintainer.lock.yml +++ b/.github/workflows/layout-spec-maintainer.lock.yml @@ -933,7 +933,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index e0db7c4be00..ad0c9a7f2b8 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -942,7 +942,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1185,7 +1186,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index 37fcfd40ad7..3b4b17c4680 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -1393,7 +1393,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1898,7 +1899,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index bef0d254b54..90b00a69fa3 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -968,7 +968,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index 64f56cce040..1e8d8b3f0d4 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -956,7 +956,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1184,7 +1185,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index 68939d1ec15..62fb1e7f0b2 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -1037,7 +1037,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1313,7 +1314,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index 2335e174ed2..6a8d3a89dcb 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -972,7 +972,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index d755a8fa5a7..bf7787e5cd0 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -1338,7 +1338,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1626,7 +1627,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/portfolio-analyst.lock.yml b/.github/workflows/portfolio-analyst.lock.yml index 223c2a3d3b3..e304ba17344 100644 --- a/.github/workflows/portfolio-analyst.lock.yml +++ b/.github/workflows/portfolio-analyst.lock.yml @@ -1043,7 +1043,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1272,7 +1273,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index da3bce7f445..1566d7062d1 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -1036,7 +1036,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1310,7 +1311,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/pr-triage-agent.lock.yml b/.github/workflows/pr-triage-agent.lock.yml index ae0c984393c..003097aa19d 100644 --- a/.github/workflows/pr-triage-agent.lock.yml +++ b/.github/workflows/pr-triage-agent.lock.yml @@ -947,7 +947,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1092,7 +1093,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index ab15c3965c3..2db52c310ce 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -1084,7 +1084,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1327,7 +1328,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index dd3c1623645..1c437c9d609 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -1027,7 +1027,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1255,7 +1256,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 48dc06aefd8..e011af070c5 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -1159,7 +1159,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1467,7 +1468,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/refiner.lock.yml b/.github/workflows/refiner.lock.yml index 425f1ab6332..a4482e03fd4 100644 --- a/.github/workflows/refiner.lock.yml +++ b/.github/workflows/refiner.lock.yml @@ -941,7 +941,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index a97aaabeeae..71e94159728 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -1034,7 +1034,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/repo-audit-analyzer.lock.yml b/.github/workflows/repo-audit-analyzer.lock.yml index 4b137f7954c..7d42ae4b695 100644 --- a/.github/workflows/repo-audit-analyzer.lock.yml +++ b/.github/workflows/repo-audit-analyzer.lock.yml @@ -904,7 +904,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1132,7 +1133,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index cbf6296ea4c..e8e14fdad62 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -871,7 +871,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index 16719303e94..49d449b3f10 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -916,7 +916,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1144,7 +1145,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index c91435974a7..71b41f78eae 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -903,7 +903,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 81650a2819f..b0dffa81c60 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -1047,7 +1047,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1290,7 +1291,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index a74d5623304..8eeec814226 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -942,7 +942,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1185,7 +1186,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/schema-feature-coverage.lock.yml b/.github/workflows/schema-feature-coverage.lock.yml index 611985df816..765be68817b 100644 --- a/.github/workflows/schema-feature-coverage.lock.yml +++ b/.github/workflows/schema-feature-coverage.lock.yml @@ -899,7 +899,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index 495988d6679..983becaad89 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -1209,7 +1209,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1500,7 +1501,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml index ae24c666237..d3fa3bc4958 100644 --- a/.github/workflows/security-compliance.lock.yml +++ b/.github/workflows/security-compliance.lock.yml @@ -924,7 +924,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1069,7 +1070,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/security-review.lock.yml b/.github/workflows/security-review.lock.yml index 55e66485e72..095f375ac1a 100644 --- a/.github/workflows/security-review.lock.yml +++ b/.github/workflows/security-review.lock.yml @@ -1078,7 +1078,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1350,7 +1351,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 109be24f83a..c6362cc65a3 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -984,7 +984,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/sergo.lock.yml b/.github/workflows/sergo.lock.yml index de79d829db2..0d0db422cbb 100644 --- a/.github/workflows/sergo.lock.yml +++ b/.github/workflows/sergo.lock.yml @@ -992,7 +992,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1236,7 +1237,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/slide-deck-maintainer.lock.yml b/.github/workflows/slide-deck-maintainer.lock.yml index 4f02a0b33ba..7c30523f2a7 100644 --- a/.github/workflows/slide-deck-maintainer.lock.yml +++ b/.github/workflows/slide-deck-maintainer.lock.yml @@ -1013,7 +1013,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1319,7 +1320,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-agent-all-merged.lock.yml b/.github/workflows/smoke-agent-all-merged.lock.yml index c3479ecaead..5abaa0782f0 100644 --- a/.github/workflows/smoke-agent-all-merged.lock.yml +++ b/.github/workflows/smoke-agent-all-merged.lock.yml @@ -911,7 +911,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-agent-all-none.lock.yml b/.github/workflows/smoke-agent-all-none.lock.yml index 5100d996077..724d801cff8 100644 --- a/.github/workflows/smoke-agent-all-none.lock.yml +++ b/.github/workflows/smoke-agent-all-none.lock.yml @@ -911,7 +911,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-agent-public-approved.lock.yml b/.github/workflows/smoke-agent-public-approved.lock.yml index def6f49c7eb..66599176d12 100644 --- a/.github/workflows/smoke-agent-public-approved.lock.yml +++ b/.github/workflows/smoke-agent-public-approved.lock.yml @@ -939,7 +939,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-agent-public-none.lock.yml b/.github/workflows/smoke-agent-public-none.lock.yml index 41c57adde71..a0802faea17 100644 --- a/.github/workflows/smoke-agent-public-none.lock.yml +++ b/.github/workflows/smoke-agent-public-none.lock.yml @@ -911,7 +911,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-agent-scoped-approved.lock.yml b/.github/workflows/smoke-agent-scoped-approved.lock.yml index 1b23063570c..01f0884ffab 100644 --- a/.github/workflows/smoke-agent-scoped-approved.lock.yml +++ b/.github/workflows/smoke-agent-scoped-approved.lock.yml @@ -915,7 +915,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-call-workflow.lock.yml b/.github/workflows/smoke-call-workflow.lock.yml index f1a261c447d..0544a9ee66a 100644 --- a/.github/workflows/smoke-call-workflow.lock.yml +++ b/.github/workflows/smoke-call-workflow.lock.yml @@ -886,7 +886,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index 85dae88ecce..4e7906f700a 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -2403,7 +2403,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -2714,7 +2715,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index b314801b5bc..b0ea68bf8b4 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -1443,7 +1443,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1790,7 +1791,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml index 8965afa2df7..bb735a9c00d 100644 --- a/.github/workflows/smoke-copilot-arm.lock.yml +++ b/.github/workflows/smoke-copilot-arm.lock.yml @@ -1816,7 +1816,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -2125,7 +2126,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 5963bd34c2f..c47a7513a80 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -1864,7 +1864,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -2171,7 +2172,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-create-cross-repo-pr.lock.yml b/.github/workflows/smoke-create-cross-repo-pr.lock.yml index 3f24124fbc3..970966b4d4f 100644 --- a/.github/workflows/smoke-create-cross-repo-pr.lock.yml +++ b/.github/workflows/smoke-create-cross-repo-pr.lock.yml @@ -1013,7 +1013,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-gemini.lock.yml b/.github/workflows/smoke-gemini.lock.yml index b0bcd86e822..c306bc0a687 100644 --- a/.github/workflows/smoke-gemini.lock.yml +++ b/.github/workflows/smoke-gemini.lock.yml @@ -1145,7 +1145,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1424,7 +1425,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-multi-pr.lock.yml b/.github/workflows/smoke-multi-pr.lock.yml index bf94bbb5d72..badeac216d2 100644 --- a/.github/workflows/smoke-multi-pr.lock.yml +++ b/.github/workflows/smoke-multi-pr.lock.yml @@ -1007,7 +1007,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml index 925d4997993..1dc94e72481 100644 --- a/.github/workflows/smoke-project.lock.yml +++ b/.github/workflows/smoke-project.lock.yml @@ -1140,7 +1140,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-temporary-id.lock.yml b/.github/workflows/smoke-temporary-id.lock.yml index d486a5eb0bf..4faecc9bfc3 100644 --- a/.github/workflows/smoke-temporary-id.lock.yml +++ b/.github/workflows/smoke-temporary-id.lock.yml @@ -977,7 +977,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-test-tools.lock.yml b/.github/workflows/smoke-test-tools.lock.yml index 0a66b105e0b..a01bd33774d 100644 --- a/.github/workflows/smoke-test-tools.lock.yml +++ b/.github/workflows/smoke-test-tools.lock.yml @@ -938,7 +938,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-update-cross-repo-pr.lock.yml b/.github/workflows/smoke-update-cross-repo-pr.lock.yml index 9ca24434cd0..0906a633b5b 100644 --- a/.github/workflows/smoke-update-cross-repo-pr.lock.yml +++ b/.github/workflows/smoke-update-cross-repo-pr.lock.yml @@ -1013,7 +1013,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1317,7 +1318,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-workflow-call-with-inputs.lock.yml b/.github/workflows/smoke-workflow-call-with-inputs.lock.yml index 1da20aea6a5..1763ac5717a 100644 --- a/.github/workflows/smoke-workflow-call-with-inputs.lock.yml +++ b/.github/workflows/smoke-workflow-call-with-inputs.lock.yml @@ -937,7 +937,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/smoke-workflow-call.lock.yml b/.github/workflows/smoke-workflow-call.lock.yml index 40cf7a4ee5c..d1648199230 100644 --- a/.github/workflows/smoke-workflow-call.lock.yml +++ b/.github/workflows/smoke-workflow-call.lock.yml @@ -928,7 +928,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index 0568fc9e9b8..b1790cd0206 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -1020,7 +1020,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1250,7 +1251,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 7a7d0e2e50e..b69a16f2221 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -1025,7 +1025,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1268,7 +1269,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/step-name-alignment.lock.yml b/.github/workflows/step-name-alignment.lock.yml index c7a6fea4c48..ff07f919f4d 100644 --- a/.github/workflows/step-name-alignment.lock.yml +++ b/.github/workflows/step-name-alignment.lock.yml @@ -955,7 +955,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1199,7 +1200,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml index 3f082656f14..83883e51784 100644 --- a/.github/workflows/sub-issue-closer.lock.yml +++ b/.github/workflows/sub-issue-closer.lock.yml @@ -910,7 +910,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index 1397e7b1015..656a76c2446 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -915,7 +915,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1199,7 +1200,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index fb95875d1ae..d969879419a 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -1106,7 +1106,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1320,7 +1321,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write @@ -1513,7 +1514,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml index 29b3070af68..c1fbab44bb3 100644 --- a/.github/workflows/terminal-stylist.lock.yml +++ b/.github/workflows/terminal-stylist.lock.yml @@ -890,7 +890,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/test-create-pr-error-handling.lock.yml b/.github/workflows/test-create-pr-error-handling.lock.yml index 724ed3c9bf7..153e7b1ccb1 100644 --- a/.github/workflows/test-create-pr-error-handling.lock.yml +++ b/.github/workflows/test-create-pr-error-handling.lock.yml @@ -956,7 +956,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1231,7 +1232,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/test-dispatcher.lock.yml b/.github/workflows/test-dispatcher.lock.yml index ed659ea95ae..4aa768a2b14 100644 --- a/.github/workflows/test-dispatcher.lock.yml +++ b/.github/workflows/test-dispatcher.lock.yml @@ -849,7 +849,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/test-project-url-default.lock.yml b/.github/workflows/test-project-url-default.lock.yml index 01e5c1bcbc6..fe188f45c66 100644 --- a/.github/workflows/test-project-url-default.lock.yml +++ b/.github/workflows/test-project-url-default.lock.yml @@ -909,7 +909,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index cdd2ea27f36..4fcd3e0e4b2 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -1036,7 +1036,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 528280ce984..28e5ad1e236 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -960,7 +960,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/ubuntu-image-analyzer.lock.yml b/.github/workflows/ubuntu-image-analyzer.lock.yml index bb9e66badea..3e9767eb519 100644 --- a/.github/workflows/ubuntu-image-analyzer.lock.yml +++ b/.github/workflows/ubuntu-image-analyzer.lock.yml @@ -936,7 +936,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index 453b34df5a4..2eede9839ae 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -1261,7 +1261,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1653,7 +1654,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/update-astro.lock.yml b/.github/workflows/update-astro.lock.yml index 9a860b8a21c..9221368345b 100644 --- a/.github/workflows/update-astro.lock.yml +++ b/.github/workflows/update-astro.lock.yml @@ -959,7 +959,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index d04aaf83904..45a4d91cb05 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -905,7 +905,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/weekly-blog-post-writer.lock.yml b/.github/workflows/weekly-blog-post-writer.lock.yml index a7511c538fd..6d9e7d39a75 100644 --- a/.github/workflows/weekly-blog-post-writer.lock.yml +++ b/.github/workflows/weekly-blog-post-writer.lock.yml @@ -1080,7 +1080,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1303,7 +1304,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/weekly-editors-health-check.lock.yml b/.github/workflows/weekly-editors-health-check.lock.yml index 03dacd51fc2..cce59252404 100644 --- a/.github/workflows/weekly-editors-health-check.lock.yml +++ b/.github/workflows/weekly-editors-health-check.lock.yml @@ -967,7 +967,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index 21553e68e3e..4bbd8988ae0 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -939,7 +939,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1168,7 +1169,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml index fa14406d2ba..82908459dbe 100644 --- a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml +++ b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml @@ -893,7 +893,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml index 852c437da98..46027b7aeaf 100644 --- a/.github/workflows/workflow-generator.lock.yml +++ b/.github/workflows/workflow-generator.lock.yml @@ -951,7 +951,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml index 85b58c87fb3..b42669d7f17 100644 --- a/.github/workflows/workflow-health-manager.lock.yml +++ b/.github/workflows/workflow-health-manager.lock.yml @@ -994,7 +994,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read @@ -1171,7 +1172,7 @@ jobs: needs: - agent - detection - if: always() && needs.detection.result == 'success' + if: always() && (needs.detection.result == 'success' || needs.detection.result == 'skipped') runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml index 71564514baf..cdab9e093fa 100644 --- a/.github/workflows/workflow-normalizer.lock.yml +++ b/.github/workflows/workflow-normalizer.lock.yml @@ -956,7 +956,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/workflow-skill-extractor.lock.yml b/.github/workflows/workflow-skill-extractor.lock.yml index da49200a7ff..e2c837c195f 100644 --- a/.github/workflows/workflow-skill-extractor.lock.yml +++ b/.github/workflows/workflow-skill-extractor.lock.yml @@ -926,7 +926,8 @@ jobs: detection: needs: agent - if: always() && needs.agent.result != 'skipped' + if: > + always() && needs.agent.result != 'skipped' && (needs.agent.outputs.output_types != '' || needs.agent.outputs.has_patch == 'true') runs-on: ubuntu-latest permissions: contents: read diff --git a/pkg/workflow/cache.go b/pkg/workflow/cache.go index 95353a958c1..fb54151be1d 100644 --- a/pkg/workflow/cache.go +++ b/pkg/workflow/cache.go @@ -837,8 +837,9 @@ func (c *Compiler) buildUpdateCacheMemoryJob(data *WorkflowData, threatDetection // Prepend setup steps to all cache steps steps = append(setupSteps, steps...) - // Job condition: only run if detection job succeeded (exit 0 means analysis passed, no threats detected) - jobCondition := fmt.Sprintf("always() && needs.%s.result == 'success'", constants.DetectionJobName) + // Job condition: run if detection job succeeded (no threats found) or was skipped (no outputs to detect). + // Using always() so the job runs even when detection is skipped (which sets result = 'skipped'). + jobCondition := RenderCondition(BuildAnd(BuildFunctionCall("always"), buildDetectionPassedCondition())) // Set up permissions for the cache update job // If using local actions (dev mode without action-tag), we need contents: read to checkout the actions folder diff --git a/pkg/workflow/compiler_safe_outputs_job.go b/pkg/workflow/compiler_safe_outputs_job.go index 546b5f33aa7..1edd6a799e0 100644 --- a/pkg/workflow/compiler_safe_outputs_job.go +++ b/pkg/workflow/compiler_safe_outputs_job.go @@ -548,6 +548,20 @@ func buildDetectionSuccessCondition() ConditionNode { ) } +// buildDetectionPassedCondition builds the condition to check if the detection job either +// succeeded (no threats found) or was skipped (agent produced no outputs or patch — nothing +// to detect against). Use this for downstream jobs that must run in both cases, such as +// update_cache_memory and push_repo_memory. +func buildDetectionPassedCondition() ConditionNode { + return BuildOr( + buildDetectionSuccessCondition(), + BuildEquals( + BuildPropertyAccess(fmt.Sprintf("needs.%s.result", constants.DetectionJobName)), + BuildStringLiteral("skipped"), + ), + ) +} + // buildSafeOutputItemsManifestUploadStep builds the step that uploads the safe output // items manifest as a separate artifact. The step always runs (if: always()) so // the manifest is available to the audit command even if some safe output steps fail. diff --git a/pkg/workflow/repo_memory.go b/pkg/workflow/repo_memory.go index 91a5bc6a4ad..006428bda05 100644 --- a/pkg/workflow/repo_memory.go +++ b/pkg/workflow/repo_memory.go @@ -690,7 +690,9 @@ func (c *Compiler) buildPushRepoMemoryJob(data *WorkflowData, threatDetectionEna jobCondition := "always()" jobNeeds := []string{"agent"} if threatDetectionEnabled { - jobCondition = fmt.Sprintf("always() && needs.%s.result == 'success'", constants.DetectionJobName) + // When threat detection is enabled, run only if detection succeeded (no threats found) + // or was skipped (agent produced no outputs or patch — nothing to detect against). + jobCondition = RenderCondition(BuildAnd(BuildFunctionCall("always"), buildDetectionPassedCondition())) jobNeeds = append(jobNeeds, string(constants.DetectionJobName)) } diff --git a/pkg/workflow/threat_detection.go b/pkg/workflow/threat_detection.go index fa6e080e9e3..095d0ec0440 100644 --- a/pkg/workflow/threat_detection.go +++ b/pkg/workflow/threat_detection.go @@ -608,9 +608,25 @@ func (c *Compiler) buildDetectionJob(data *WorkflowData) (*Job, error) { runsOn = "runs-on: " + data.SafeOutputs.ThreatDetection.RunsOn } - // Detection job condition: always run if agent job was not skipped - // Use always() so detection runs even if the agent job failed (to check whatever output was produced) - jobCondition := fmt.Sprintf("always() && needs.%s.result != 'skipped'", constants.AgentJobName) + // Detection job condition: always run if agent job was not skipped AND produced outputs or a patch. + // Skip the detection job entirely (result = 'skipped') when there is nothing to detect against, + // so downstream jobs (safe_outputs) are also correctly skipped. + alwaysFunc := BuildFunctionCall("always") + agentNotSkipped := BuildNotEquals( + BuildPropertyAccess(fmt.Sprintf("needs.%s.result", constants.AgentJobName)), + BuildStringLiteral("skipped"), + ) + outputTypesNotEmpty := BuildNotEquals( + BuildPropertyAccess(fmt.Sprintf("needs.%s.outputs.output_types", constants.AgentJobName)), + BuildStringLiteral(""), + ) + hasPatchTrue := BuildEquals( + BuildPropertyAccess(fmt.Sprintf("needs.%s.outputs.has_patch", constants.AgentJobName)), + BuildStringLiteral("true"), + ) + hasContent := BuildOr(outputTypesNotEmpty, hasPatchTrue) + jobConditionNode := BuildAnd(BuildAnd(alwaysFunc, agentNotSkipped), hasContent) + jobCondition := RenderCondition(jobConditionNode) // Determine permissions for the detection job // In dev/script mode, need contents: read if the actions folder checkout is needed diff --git a/pkg/workflow/threat_detection_test.go b/pkg/workflow/threat_detection_test.go index 963ccace9f0..a110fcd2061 100644 --- a/pkg/workflow/threat_detection_test.go +++ b/pkg/workflow/threat_detection_test.go @@ -754,7 +754,58 @@ func TestDetectionGuardStepCondition(t *testing.T) { } } -// TestBuildDetectionEngineExecutionStepStripsAgentField verifies that the Agent field from the +// TestDetectionJobLevelCondition verifies that the detection job-level `if:` condition +// skips the job entirely when the agent produced no outputs and no patch. +// This prevents the detection job from wasting a runner and ensures safe_outputs is +// also correctly skipped (since it gates on needs.detection.result == 'success'). +func TestDetectionJobLevelCondition(t *testing.T) { + compiler := NewCompiler() + + data := &WorkflowData{ + Name: "test-workflow", + AI: "copilot", + SafeOutputs: &SafeOutputsConfig{ + ThreatDetection: &ThreatDetectionConfig{}, + CreateIssues: &CreateIssuesConfig{ + TitlePrefix: "[Test]", + }, + }, + } + + job, err := compiler.buildDetectionJob(data) + if err != nil { + t.Fatalf("Unexpected error building detection job: %v", err) + } + if job == nil { + t.Fatal("Expected detection job to be built, got nil") + } + + condition := job.If + + // Must use always() so the job runs even when the agent job fails + if !strings.Contains(condition, "always()") { + t.Errorf("Expected detection job condition to include always(), got: %q", condition) + } + + // Must skip when agent was skipped + if !strings.Contains(condition, "needs."+string(constants.AgentJobName)+".result") { + t.Errorf("Expected detection job condition to check agent result, got: %q", condition) + } + if !strings.Contains(condition, "'skipped'") { + t.Errorf("Expected detection job condition to check for skipped status, got: %q", condition) + } + + // Must check output_types and has_patch so the job is skipped at job-level + // when the agent produced nothing (avoiding unnecessary runner usage and + // preventing safe_outputs from running when there is nothing to publish). + if !strings.Contains(condition, "needs."+string(constants.AgentJobName)+".outputs.output_types") { + t.Errorf("Expected detection job condition to check output_types, got: %q", condition) + } + if !strings.Contains(condition, "needs."+string(constants.AgentJobName)+".outputs.has_patch") { + t.Errorf("Expected detection job condition to check has_patch, got: %q", condition) + } +} + // main engine config is never propagated to the detection engine config, // regardless of whether a model is explicitly configured. func TestBuildDetectionEngineExecutionStepStripsAgentField(t *testing.T) {