V10.5.5/service update#167
Conversation
Deploy was being skipped when optional test_mac matrix was disabled in workflow_dispatch, due to skipped-ancestor propagation. Now explicitly gate deploy on direct dependency success only, so both manual workflow runs trigger deployment regardless of macOS test matrix configuration.
Greptile SummaryThis PR hardens the
Confidence Score: 5/5Safe to merge — changes are additive hardening with no functional regressions on the happy path. The diff is limited to making the deploy gate explicit and tightening permissions. The logic change is self-consistent, and the main concerns (external-service blocking and stricter quality-gate requirements) were already raised and acknowledged in previous review threads. The only follow-up needed before running the deploy job in production is confirming the NUGET_USER repository secret is provisioned and that the v3 reusable workflow accepts it. No files require special attention beyond confirming the NUGET_USER secret is configured in repository settings. Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant GH as GitHub Actions
participant BLD as build / pack
participant TQ as test_qualitygate
participant QG as sonarcloud / codecov / codeql
participant DEP as deploy (call-nuget)
participant NUG as NuGet Registry
GH->>BLD: trigger (push, not PR)
BLD-->>TQ: success
TQ-->>QG: success (privileged run)
Note over QG: if run-privileged-jobs == 'true'
QG-->>DEP: "all == 'success'"
Note over DEP: always() ensures condition evaluated even when upstream jobs were skipped
DEP->>NUG: push package (OIDC: id-token + NUGET_USER)
NUG-->>DEP: published
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant GH as GitHub Actions
participant BLD as build / pack
participant TQ as test_qualitygate
participant QG as sonarcloud / codecov / codeql
participant DEP as deploy (call-nuget)
participant NUG as NuGet Registry
GH->>BLD: trigger (push, not PR)
BLD-->>TQ: success
TQ-->>QG: success (privileged run)
Note over QG: if run-privileged-jobs == 'true'
QG-->>DEP: "all == 'success'"
Note over DEP: always() ensures condition evaluated even when upstream jobs were skipped
DEP->>NUG: push package (OIDC: id-token + NUGET_USER)
NUG-->>DEP: published
Reviews (2): Last reviewed commit: "🔧 update permissions for actions and co..." | Re-trigger Greptile |
TBD