Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
a00dc31
Remove documentation for unavailable tool-search command (#3162)
tommaso-moro Aug 26, 2026
febc329
Expose Copilot review thread resolution reasons (#3123)
cagesellchen Aug 27, 2026
5a3c558
fix(repos): give create_or_update_file callers a SHA they can actuall…
dylanpulver Sep 1, 2026
198bc16
fix: allow public_repo for public contribution tools (#3140)
paulcakeface Sep 1, 2026
ffa16d0
Enable feature flags via URL query parameter (?features=) for headerl…
CAOShurong Sep 1, 2026
b8f107b
Add expectedHeadSha pinning to merge_pull_request (#3182)
jcosta1970 Sep 1, 2026
4ee4594
Fix e2e harness compilation against go-github v89 and go-sdk v1.7 (#3…
ppoffice Sep 1, 2026
c2a9364
Return range coordinates for review comments (#3193)
yiheng-kkk Sep 1, 2026
7b6646c
fix(issues): report silently dropped labels (#3195)
SamMorrowDrums Sep 1, 2026
12d16ed
fix(http): allow projected MCP headers in preflights (#3167)
SamMorrowDrums Sep 1, 2026
2e69419
Spell perPage the same way in every paginated tool (#3142)
karpovantonme Sep 2, 2026
bd47e63
Add MCP Server Card (SEP-2127) types + handler (#2768)
SamMorrowDrums Sep 2, 2026
7689727
Refactor feature flags to use functional availability rules (#3166)
SamMorrowDrums Sep 3, 2026
51e45e2
feat(governance): add repository ruleset tools with multi-level scope…
SamMorrowDrums Sep 3, 2026
c30039f
feat(governance): add custom properties tools (#2992)
SamMorrowDrums Sep 3, 2026
f2cbc12
fix(sanitize): preserve plain-text title characters (#3216)
SamMorrowDrums Sep 3, 2026
8b9df57
build(deps): bump fast-uri (#3208)
dependabot[bot] Sep 3, 2026
49bdd19
build(deps): bump the npm_and_yarn group across 1 directory with 2 up…
dependabot[bot] Sep 3, 2026
a014a18
build(deps): bump github/codeql-action from 4.37.4 to 4.37.9 (#3192)
dependabot[bot] Sep 3, 2026
59847fb
feat: add Agent Plugins 1.0 package (#3169)
777genius Sep 3, 2026
25f11e6
fix(sanitize): preserve Markdown body fidelity on read surfaces (#3177)
SamMorrowDrums Sep 3, 2026
cf3a4bb
build(deps): bump actions/stale from 10 to 11 (#3003)
dependabot[bot] Sep 3, 2026
9205304
fix: restore sanitizer content boundaries (#3219)
SamMorrowDrums Sep 3, 2026
8b3538f
Return a clear error for missing owner/repo/issue_number in the copil…
thejdubb02 Sep 7, 2026
6e00cee
build(deps): bump golang from 1.27.0-alpine to 1.27.1-alpine (#3239)
dependabot[bot] Sep 8, 2026
7d13a7a
fix(oauth): advertise only default scopes in protected resource metad…
SamMorrowDrums Sep 8, 2026
c71961c
feat: add update_issue_comment tool (#3284)
timrogers Sep 15, 2026
85598ba
feat: add `remove_issue_reaction`, `remove_issue_comment_reaction ` a…
timrogers Sep 16, 2026
5a1a386
Preserve versioned STDIO API user agents across MCP protocols (#3323)
jidicula Sep 30, 2026
63f5595
Always enable MCP Apps UI; remove remote_mcp_ui_apps flag gate (#3348)
SamMorrowDrums Oct 1, 2026
a1f6500
Use source revisions for non-release Docker builds (#3357)
jidicula Oct 1, 2026
85b0399
Add granular tools to hide and unhide issue comments, PR review comme…
timrogers Oct 1, 2026
38cb0c4
fix(pull_request_reviews): Update pending pull request review lookup …
Copilot Oct 2, 2026
cd50233
build(deps): remediate npm alerts and refresh safe dependencies (#3370)
SamMorrowDrums Oct 2, 2026
fbeba3c
build: upgrade golangci-lint to v2.14.0 (#3380)
SamMorrowDrums Oct 2, 2026
5e39ec8
build(deps): upgrade go-github to v92.0.0 (#3381)
SamMorrowDrums Oct 2, 2026
f89f884
build(ui): upgrade TypeScript 7 and align Node 26 toolchain (#3379)
SamMorrowDrums Oct 2, 2026
876195b
feat(ui): migrate MCP Apps SDK to v2 (#3378)
SamMorrowDrums Oct 2, 2026
36e5c48
ci: migrate cosign to v3 and dual-publish image signatures (#3382)
SamMorrowDrums Oct 2, 2026
f10e4e1
build(ui): migrate to React 19 and Primer React 38 (#3383)
SamMorrowDrums Oct 2, 2026
71ef826
perf: cache encoded tools/list schemas (#3407)
SamMorrowDrums Oct 3, 2026
bf0f67f
Pin GitHub Actions to commit SHAs (#3259)
github-security-bot Oct 6, 2026
18fb782
feat(inventory): add typed MCP tool registration foundation (#3371)
SamMorrowDrums Oct 6, 2026
9cbd4b2
feat(context): add typed tool schemas and outputs (#3377)
SamMorrowDrums Oct 6, 2026
1feeae4
feat(comments): add typed visibility tool inputs and outputs (#3384)
SamMorrowDrums Oct 6, 2026
26bf4c4
feat(search): add typed projected result outputs (#3386)
SamMorrowDrums Oct 6, 2026
70891c0
feat(security): add typed security alert outputs (#3387)
SamMorrowDrums Oct 6, 2026
8b2656a
feat: type discussion and notification tool outputs (#3388)
SamMorrowDrums Oct 6, 2026
c4ed8cb
feat(repos): add typed commit tool outputs (#3389)
SamMorrowDrums Oct 6, 2026
5e737b4
feat(issues): add typed metadata, comment, and dependency outputs (#3…
SamMorrowDrums Oct 6, 2026
7894659
feat(repos): complete typed repository tool outputs (#3392)
SamMorrowDrums Oct 6, 2026
b628491
feat(issues): add protocol-gated typed consolidated issue tools (#3393)
SamMorrowDrums Oct 6, 2026
d6a8ac1
Type granular issue MCP inputs and protocol-gated outputs (#3394)
SamMorrowDrums Oct 6, 2026
15e4b32
refactor(search): type repository, user, org and commit search tools …
SamMorrowDrums Oct 6, 2026
867131b
refactor(pull-requests): migrate consolidated PR tools to typed input…
SamMorrowDrums Oct 6, 2026
da2cbc8
refactor(pull-requests): type granular MCP tools (#3397)
SamMorrowDrums Oct 6, 2026
2d5ad6e
refactor(actions): type consolidated MCP tools (#3398)
SamMorrowDrums Oct 6, 2026
cb29040
Address typed output compatibility gaps (#3433)
kerobbi Oct 6, 2026
6330b02
ci(mcp-diff): prebuild HTTP server and fail when a side is unreachabl…
SamMorrowDrums Oct 6, 2026
55edd58
fix(go)!: use the v2 module path for Go consumers (#3445)
SamMorrowDrums Oct 7, 2026
eb47a99
fix(inventory): retain typed tool header validation (#3454)
SamMorrowDrums Oct 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/actions/build-ui/action.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
name: Build UI
description: Restore cached UI HTML artifacts, or set up Node and run script/build-ui on cache miss.
description: Restore tested UI HTML artifacts, or set up Node and run script/build-ui on cache miss.

runs:
using: composite
steps:
- name: Cache UI artifacts
id: cache-ui
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: |
pkg/github/ui_dist/get-me.html
pkg/github/ui_dist/issue-write.html
pkg/github/ui_dist/pr-write.html
pkg/github/ui_dist/pr-edit.html
key: ui-dist-v2-${{ hashFiles('ui/package-lock.json', 'ui/package.json', 'ui/index.html', 'ui/tsconfig*.json', 'ui/vite.config.ts', 'ui/src/**', 'ui/scripts/**') }}
key: ui-dist-v3-${{ hashFiles('.github/actions/build-ui/action.yml', 'script/build-ui', 'ui/package-lock.json', 'ui/package.json', 'ui/index.html', 'ui/tsconfig*.json', 'ui/vite.config.ts', 'ui/src/**', 'ui/scripts/**') }}
enableCrossOsArchive: true

- name: Set up Node.js
if: steps.cache-ui.outputs.cache-hit != 'true'
uses: actions/setup-node@v6
uses: actions/setup-node@v7
with:
node-version: "22"
node-version-file: ui/package.json
cache: npm
cache-dependency-path: ui/package-lock.json

Expand Down
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ updates:
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "npm"
directory: "/ui"
schedule:
interval: "weekly"
- package-ecosystem: "docker"
directory: "/"
schedule:
Expand All @@ -17,3 +21,5 @@ updates:
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 7
2 changes: 1 addition & 1 deletion .github/workflows/ai-issue-assessment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Run AI assessment
uses: github/ai-assessment-comment-labeler@e3bedc38cfffa9179fe4cee8f7ecc93bffb3fee7 # v1.0.1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/close-inactive-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v10
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11
with:
days-before-issue-stale: ${{ env.PR_DAYS_BEFORE_STALE }}
days-before-issue-close: ${{ env.PR_DAYS_BEFORE_CLOSE }}
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/code-scanning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ jobs:
runner: '["ubuntu-22.04"]'
steps:
- name: Checkout repository
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Initialize CodeQL
uses: github/codeql-action/init@v4.37.4
uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -61,28 +61,28 @@ jobs:
threat-models: [ ]
- name: Setup proxy for registries
id: proxy
uses: github/codeql-action/start-proxy@v4.37.4
uses: github/codeql-action/start-proxy@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
registries_credentials: ${{ secrets.GITHUB_REGISTRIES_PROXY }}
language: ${{ matrix.language }}

- name: Configure
uses: github/codeql-action/resolve-environment@v4.37.4
uses: github/codeql-action/resolve-environment@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
id: resolve-environment
with:
language: ${{ matrix.language }}
- name: Setup Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
if: matrix.language == 'go' && fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version
with:
go-version: ${{ fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version }}
cache: false

- name: Set up Node.js (for JavaScript CodeQL)
if: matrix.language == 'javascript'
uses: actions/setup-node@v7
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: "20"
node-version-file: ui/package.json
cache: "npm"
cache-dependency-path: ui/package-lock.json

Expand All @@ -91,10 +91,10 @@ jobs:
uses: ./.github/actions/build-ui

- name: Autobuild
uses: github/codeql-action/autobuild@v4.37.4
uses: github/codeql-action/autobuild@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4.37.4
uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
env:
CODEQL_PROXY_HOST: ${{ steps.proxy.outputs.proxy_host }}
CODEQL_PROXY_PORT: ${{ steps.proxy.outputs.proxy_port }}
Expand Down
29 changes: 16 additions & 13 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,21 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 #v4.1.2
with:
cosign-release: "v2.2.4"
cosign-release: "v3.1.3"

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
type=raw,value=latest,enable=${{ github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '-') }}

- name: Go Build Cache for Docker
uses: actions/cache@v6
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: go-build-cache
key: ${{ runner.os }}-go-build-cache-${{ hashFiles('**/go.sum') }}
Expand All @@ -106,7 +106,7 @@ jobs:
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -116,23 +116,26 @@ jobs:
cache-to: type=gha,mode=max
platforms: linux/amd64,linux/arm64
build-args: |
VERSION=${{ github.ref_name }}
VERSION=${{ github.ref_type == 'tag' && github.ref_name || 'dev' }}
secrets: |
oauth_client_id=${{ secrets.OAUTH_CLIENT_ID }}
oauth_client_secret=${{ secrets.OAUTH_CLIENT_SECRET }}

# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# Publish both v2-compatible .sig tags and native Sigstore bundles.
# --yes also consents to publishing signing metadata to the public log.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
- name: Sign the published Docker image (legacy)
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}

run: cosign sign --yes --new-bundle-format=false --use-signing-config=false --registry-referrers-mode=legacy "${REGISTRY}/${IMAGE_NAME}@${DIGEST}"

- name: Sign the published Docker image (native bundle)
if: ${{ github.event_name != 'pull_request' }}
env:
DIGEST: ${{ steps.build-and-push.outputs.digest }}
run: cosign sign --yes "${REGISTRY}/${IMAGE_NAME}@${DIGEST}"
4 changes: 2 additions & 2 deletions .github/workflows/docs-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Build UI
uses: ./.github/actions/build-ui

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: 'go.mod'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ jobs:
git config --global core.eol lf

- name: Check out code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Build UI
uses: ./.github/actions/build-ui

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: "go.mod"

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Build UI
uses: ./.github/actions/build-ui

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: "go.mod"

Expand All @@ -42,7 +42,7 @@ jobs:
OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }}

- name: Generate signed build provenance attestations for workflow artifacts
uses: actions/attest-build-provenance@v4
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4
with:
subject-path: |
dist/*.tar.gz
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/license-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

# Check out the actual PR branch so we can push changes back if needed
- name: Check out PR branch
Expand All @@ -36,7 +36,7 @@ jobs:
uses: ./.github/actions/build-ui

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: "go.mod"

Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
- name: Check if already commented
if: steps.changes.outcome == 'failure' && steps.push.outcome == 'failure'
id: check_comment
uses: actions/github-script@v9
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
script: |
const { data: comments } = await github.rest.issues.listComments({
Expand All @@ -88,7 +88,7 @@ jobs:

- name: Comment with instructions if cannot push
if: steps.changes.outcome == 'failure' && steps.push.outcome == 'failure' && steps.check_comment.outputs.already_commented == 'false'
uses: actions/github-script@v9
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
with:
script: |
await github.rest.issues.createComment({
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ jobs:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Build UI
uses: ./.github/actions/build-ui
- uses: actions/setup-go@v7
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version: '1.25'
go-version-file: 'go.mod'
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9
with:
# sync with script/lint
version: v2.9
version: v2.14.0
33 changes: 28 additions & 5 deletions .github/workflows/mcp-diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod

Expand Down Expand Up @@ -85,12 +85,12 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v7
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: go.mod

Expand Down Expand Up @@ -119,18 +119,41 @@ jobs:
} >> "$GITHUB_OUTPUT"

- name: Run MCP Server Diff (streamable-http)
id: diff
# Pinned to mcp-server-diff v3.0.0 — see rationale on the stdio job above.
# The action sleeps http_startup_wait_ms and then probes, with no
# readiness check. Build the binary in install_command (which runs to
# completion on both the current and baseline checkouts before the
# server is started) so the wait only covers process startup, not
# compilation. Using `go run` here let compile time on the uncached
# baseline checkout exceed the wait, so every baseline probe failed.
uses: SamMorrowDrums/mcp-server-diff@40d992e0a220e5b63378758f9a40d6a8982898d2 # v3.0.0
with:
setup_go: "false"
install_command: |
go mod download
mkdir -p pkg/github/ui_dist
cp "${RUNNER_TEMP}"/ui_dist/*.html pkg/github/ui_dist/
http_start_command: go run ./cmd/github-mcp-server http --port 8082
go build -o bin/github-mcp-server ./cmd/github-mcp-server
http_start_command: ./bin/github-mcp-server http --port 8082
http_startup_wait_ms: "5000"
configurations: ${{ steps.configs.outputs.configurations }}

- name: Verify both sides were probed
# mcp-server-diff treats a configuration that fails on only one side as
# "missing on that ref" (non-fatal) and diffs against an empty
# baseline, so fail_on_error does not catch an unreachable server.
# With a single shared HTTP server, a one-sided failure always means
# that side's server never came up, so fail the job explicitly.
env:
REPORT: ${{ steps.diff.outputs.json_report_path }}
run: |
jq -e 'all(.results[]; .configMissing == null)' "$REPORT" > /dev/null || {
jq -r '.results[] | select(.configMissing) | "::error::\(.configName): server unreachable on \(.configMissing.side) side: \(.configMissing.error)"' "$REPORT"
exit 1
}
jq -r '.results[] | "\(.configName): base=\(.baseProtocolVersion) head=\(.branchProtocolVersion) tools base=\(.baseCounts.tools) head=\(.branchCounts.tools)"' "$REPORT"

- name: Add interpretation note
if: always()
run: |
Expand Down
Loading