Skip to content

Commit 7d54ca2

Browse files
jeffhandleyCopilot
andcommitted
Add output mode, artifact upload, and condensed inputs
- Add 'output' input: 'Create Issue' (default) or 'Action Summary' When 'Action Summary', the report is written to the step summary and uploaded as an artifact but no issue is created. - Condense repo/branch inputs into owner/repo:branch format: csharp_sdk: 'modelcontextprotocol/csharp-sdk:main' conformance: 'modelcontextprotocol/conformance:main' Parsed with bash parameter expansion (${var%%:*} / ${var#*:}) - Add post-steps to upload /tmp/audit-report.md as an artifact (90-day retention, ignore if missing) - Executive summary now uses bullet points instead of a paragraph - Audit report always written to $GITHUB_STEP_SUMMARY regardless of output mode, so the summary page always shows results - Agent writes a single /tmp/audit-report.md combining executive summary + assessment + remediation, used for both issue body and action summary Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 8adae1c commit 7d54ca2

3 files changed

Lines changed: 73 additions & 97 deletions

File tree

.github/aw/actions-lock.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
"version": "v6.3.0",
2121
"sha": "53b83947a5a98c8d113130e565377fae1a50d02f"
2222
},
23+
"actions/upload-artifact@v4": {
24+
"repo": "actions/upload-artifact",
25+
"version": "v4",
26+
"sha": "ea165f8d65b6e75b540449e92b4886f43607fa02"
27+
},
2328
"actions/upload-artifact@v7": {
2429
"repo": "actions/upload-artifact",
2530
"version": "v7",

.github/workflows/sdk-tier-audit.lock.yml

Lines changed: 57 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/sdk-tier-audit.md

Lines changed: 11 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,15 @@ description: "SDK Tier Audit"
44
permissions:
55
contents: read
66
issues: read
7-
pull-requests: read
87

98
safe-outputs:
109
create-issue:
1110
title-prefix: "[C# SDK Tier Audit] "
1211
labels: [automation]
1312
close-older-issues: true
14-
max: 1
15-
16-
tools:
17-
github:
18-
min-integrity: approved
1913

2014
if: github.repository_owner == 'modelcontextprotocol' || github.event_name == 'workflow_dispatch'
2115

22-
env:
23-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
24-
2516
concurrency:
2617
group: tier-audit-${{ github.event.inputs.scope || 'Conformance + Repo Health' }}
2718
cancel-in-progress: true
@@ -42,24 +33,10 @@ network:
4233
timeout-minutes: 120
4334

4435
steps:
45-
- name: Write tier-check outputs to files
36+
- name: Write tier-check scorecard to file
4637
env:
4738
TIER_CHECK_JSON: ${{ needs.tier-check.outputs.tier_check_json }}
48-
AUDIT_SCOPE: ${{ needs.tier-check.outputs.scope }}
49-
AUDIT_OUTPUT: ${{ needs.tier-check.outputs.output }}
50-
AUDIT_SDK_REPO: ${{ needs.tier-check.outputs.csharp_sdk_repo }}
51-
AUDIT_SDK_BRANCH: ${{ needs.tier-check.outputs.csharp_sdk_branch }}
52-
AUDIT_CONF_REPO: ${{ needs.tier-check.outputs.conformance_repo }}
53-
AUDIT_CONF_BRANCH: ${{ needs.tier-check.outputs.conformance_branch }}
54-
run: |
55-
echo "$TIER_CHECK_JSON" > /tmp/tier-check-scorecard.json
56-
mkdir -p /tmp/audit-params
57-
echo "$AUDIT_SCOPE" > /tmp/audit-params/scope
58-
echo "$AUDIT_OUTPUT" > /tmp/audit-params/output
59-
echo "$AUDIT_SDK_REPO" > /tmp/audit-params/csharp-sdk-repo
60-
echo "$AUDIT_SDK_BRANCH" > /tmp/audit-params/csharp-sdk-branch
61-
echo "$AUDIT_CONF_REPO" > /tmp/audit-params/conformance-repo
62-
echo "$AUDIT_CONF_BRANCH" > /tmp/audit-params/conformance-branch
39+
run: echo "$TIER_CHECK_JSON" > /tmp/tier-check-scorecard.json
6340

6441
post-steps:
6542
- name: Upload audit report
@@ -278,18 +255,12 @@ Perform a tier audit of the C# MCP SDK. The deterministic tier-check scorecard h
278255

279256
## Inputs
280257

281-
All parameters are written to `/tmp/audit-params/` by a pre-agent step. Read them:
258+
- **Scope**: ${{ needs.tier-check.outputs.scope }}
259+
- **Output mode**: ${{ needs.tier-check.outputs.output }}
260+
- **C# SDK**: ${{ needs.tier-check.outputs.csharp_sdk_repo }} (branch: ${{ needs.tier-check.outputs.csharp_sdk_branch }})
261+
- **Conformance**: ${{ needs.tier-check.outputs.conformance_repo }} (branch: ${{ needs.tier-check.outputs.conformance_branch }})
282262

283-
```bash
284-
SCOPE=$(cat /tmp/audit-params/scope)
285-
OUTPUT_MODE=$(cat /tmp/audit-params/output)
286-
SDK_REPO=$(cat /tmp/audit-params/csharp-sdk-repo)
287-
SDK_BRANCH=$(cat /tmp/audit-params/csharp-sdk-branch)
288-
CONF_REPO=$(cat /tmp/audit-params/conformance-repo)
289-
CONF_BRANCH=$(cat /tmp/audit-params/conformance-branch)
290-
```
291-
292-
The tier-check scorecard is at `/tmp/tier-check-scorecard.json`.
263+
The scorecard is at `/tmp/tier-check-scorecard.json` (written by a pre-agent step from the `tier-check` job output).
293264

294265
## Tier-Check Scorecard (pre-computed)
295266

@@ -301,16 +272,11 @@ cat /tmp/tier-check-scorecard.json
301272

302273
## Step 1: Setup
303274

304-
Read the parameters from `/tmp/audit-params/` and clone both repositories for the AI-assisted evaluations. Use shallow clones.
275+
Clone both repositories for the AI-assisted evaluations. Use shallow clones.
305276

306277
```bash
307-
SDK_REPO=$(cat /tmp/audit-params/csharp-sdk-repo)
308-
SDK_BRANCH=$(cat /tmp/audit-params/csharp-sdk-branch)
309-
CONF_REPO=$(cat /tmp/audit-params/conformance-repo)
310-
CONF_BRANCH=$(cat /tmp/audit-params/conformance-branch)
311-
312-
git clone --depth 1 -b "$SDK_BRANCH" "https://github.com/${SDK_REPO}.git" /tmp/csharp-sdk
313-
git clone --depth 1 -b "$CONF_BRANCH" "https://github.com/${CONF_REPO}.git" /tmp/conformance
278+
git clone --depth 1 -b <csharp_sdk_branch> https://github.com/<csharp_sdk_repo>.git /tmp/csharp-sdk
279+
git clone --depth 1 -b <conformance_branch> https://github.com/<conformance_repo>.git /tmp/conformance
314280
```
315281

316282
You do NOT need to build either repo or start any servers — the conformance tests have already run.
@@ -365,13 +331,11 @@ cat /tmp/audit-report.md >> "$GITHUB_STEP_SUMMARY"
365331

366332
## Step 4: Publish Results
367333

368-
Read the output mode: `cat /tmp/audit-params/output`
369-
370334
### If output mode is "Create Issue"
371335

372336
Create a GitHub issue using the `create-issue` safe output.
373337

374-
**Issue title**Read the scope from `cat /tmp/audit-params/scope`. The dynamic part (after the `[C# SDK Tier Audit] ` prefix):
338+
**Issue title** — The dynamic part (after the `[C# SDK Tier Audit] ` prefix):
375339

376340
- **"Conformance + Repo Health" scope**: `<YYYY-MM-DD> - Tier <N>`
377341
- **"Repo Health" scope**: `<YYYY-MM-DD> - Tier <N> (Repo Health)`

0 commit comments

Comments
 (0)