Skip to content

Commit fc260e0

Browse files
Merge branch 'main' into search-commit
2 parents 71a9067 + 0bd0bf0 commit fc260e0

105 files changed

Lines changed: 2964 additions & 2609 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Build UI
2+
description: Restore cached UI HTML artifacts, or set up Node and run script/build-ui on cache miss.
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Cache UI artifacts
8+
id: cache-ui
9+
uses: actions/cache@v5
10+
with:
11+
path: |
12+
pkg/github/ui_dist/get-me.html
13+
pkg/github/ui_dist/issue-write.html
14+
pkg/github/ui_dist/pr-write.html
15+
key: ui-dist-v1-${{ hashFiles('ui/package-lock.json', 'ui/package.json', 'ui/index.html', 'ui/tsconfig*.json', 'ui/vite.config.ts', 'ui/src/**', 'ui/scripts/**') }}
16+
enableCrossOsArchive: true
17+
18+
- name: Set up Node.js
19+
if: steps.cache-ui.outputs.cache-hit != 'true'
20+
uses: actions/setup-node@v6
21+
with:
22+
node-version: "20"
23+
cache: npm
24+
cache-dependency-path: ui/package-lock.json
25+
26+
- name: Build UI
27+
if: steps.cache-ui.outputs.cache-hit != 'true'
28+
shell: bash
29+
run: script/build-ui
30+
31+
- name: Report UI cache status
32+
shell: bash
33+
run: |
34+
if [ "${{ steps.cache-ui.outputs.cache-hit }}" = "true" ]; then
35+
echo "UI artifacts restored from cache (skipped build)."
36+
else
37+
echo "UI artifacts rebuilt from source."
38+
fi

.github/copilot-instructions.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ All workflows run on push/PR unless noted. Located in `.github/workflows/`:
243243
- **GITHUB_HOST** - For GitHub Enterprise Server (prefix with `https://`)
244244
- **GITHUB_TOOLSETS** - Comma-separated toolset list (overrides --toolsets flag)
245245
- **GITHUB_READ_ONLY** - Set to "1" for read-only mode
246-
- **GITHUB_DYNAMIC_TOOLSETS** - Set to "1" for dynamic toolset discovery
247246
- **UPDATE_TOOLSNAPS** - Set to "true" when running tests to update snapshots
248247
- **GITHUB_MCP_SERVER_E2E_TOKEN** - Token for e2e tests
249248
- **GITHUB_MCP_SERVER_E2E_DEBUG** - Set to "true" for in-process e2e debugging
@@ -273,7 +272,7 @@ server.json - MCP server registry metadata
273272
`cmd/github-mcp-server/main.go` - Uses cobra for CLI, viper for config, supports:
274273
- `stdio` command (default) - MCP stdio transport
275274
- `generate-docs` command - Documentation generation
276-
- Flags: --toolsets, --read-only, --dynamic-toolsets, --gh-host, --log-file
275+
- Flags: --toolsets, --read-only, --gh-host, --log-file
277276

278277
## Important Reminders
279278

.github/workflows/code-scanning.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,17 @@ jobs:
7878
go-version: ${{ fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version }}
7979
cache: false
8080

81-
- name: Set up Node.js
82-
if: matrix.language == 'go' || matrix.language == 'javascript'
83-
uses: actions/setup-node@v4
81+
- name: Set up Node.js (for JavaScript CodeQL)
82+
if: matrix.language == 'javascript'
83+
uses: actions/setup-node@v6
8484
with:
8585
node-version: "20"
8686
cache: "npm"
8787
cache-dependency-path: ui/package-lock.json
8888

8989
- name: Build UI
9090
if: matrix.language == 'go'
91-
run: script/build-ui
91+
uses: ./.github/actions/build-ui
9292

9393
- name: Autobuild
9494
uses: github/codeql-action/autobuild@v4

.github/workflows/docker-publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
# https://github.com/sigstore/cosign-installer
4747
- name: Install cosign
4848
if: github.event_name != 'pull_request'
49-
uses: sigstore/cosign-installer@ba7bc0a3fef59531c69a25acd34668d6d3fe6f22 #v4.1.0
49+
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 #v4.1.2
5050
with:
5151
cosign-release: "v2.2.4"
5252

@@ -60,7 +60,7 @@ jobs:
6060
# https://github.com/docker/login-action
6161
- name: Log into registry ${{ env.REGISTRY }}
6262
if: github.event_name != 'pull_request'
63-
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
63+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
6464
with:
6565
registry: ${{ env.REGISTRY }}
6666
username: ${{ github.actor }}
@@ -93,7 +93,7 @@ jobs:
9393
key: ${{ runner.os }}-go-build-cache-${{ hashFiles('**/go.sum') }}
9494

9595
- name: Inject go-build-cache
96-
uses: reproducible-containers/buildkit-cache-dance@1b8ab18fbda5ad3646e3fcc9ed9dd41ce2f297b4 # v3.3.2
96+
uses: reproducible-containers/buildkit-cache-dance@5422eac04292c961a382e0f584ea0f03ad9da723 # v3.4.0
9797
with:
9898
cache-map: |
9999
{

.github/workflows/docs-check.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,8 @@ jobs:
1616
- name: Checkout code
1717
uses: actions/checkout@v6
1818

19-
- name: Set up Node.js
20-
uses: actions/setup-node@v4
21-
with:
22-
node-version: "20"
23-
cache: "npm"
24-
cache-dependency-path: ui/package-lock.json
25-
2619
- name: Build UI
27-
run: script/build-ui
20+
uses: ./.github/actions/build-ui
2821

2922
- name: Set up Go
3023
uses: actions/setup-go@v6

.github/workflows/go.yml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,8 @@ jobs:
2525
- name: Check out code
2626
uses: actions/checkout@v6
2727

28-
- name: Set up Node.js
29-
uses: actions/setup-node@v4
30-
with:
31-
node-version: "20"
32-
cache: "npm"
33-
cache-dependency-path: ui/package-lock.json
34-
3528
- name: Build UI
36-
shell: bash
37-
run: script/build-ui
29+
uses: ./.github/actions/build-ui
3830

3931
- name: Set up Go
4032
uses: actions/setup-go@v6

.github/workflows/goreleaser.yml

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,8 @@ jobs:
1616
- name: Check out code
1717
uses: actions/checkout@v6
1818

19-
- name: Set up Node.js
20-
uses: actions/setup-node@v4
21-
with:
22-
node-version: "20"
23-
cache: "npm"
24-
cache-dependency-path: ui/package-lock.json
25-
2619
- name: Build UI
27-
run: script/build-ui
20+
uses: ./.github/actions/build-ui
2821

2922
- name: Set up Go
3023
uses: actions/setup-go@v6
@@ -35,7 +28,7 @@ jobs:
3528
run: go mod download
3629

3730
- name: Run GoReleaser
38-
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a
31+
uses: goreleaser/goreleaser-action@5daf1e915a5f0af01ddbcd89a43b8061ff4f1a89
3932
with:
4033
distribution: goreleaser
4134
# GoReleaser version
@@ -47,7 +40,7 @@ jobs:
4740
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4841

4942
- name: Generate signed build provenance attestations for workflow artifacts
50-
uses: actions/attest-build-provenance@v3
43+
uses: actions/attest-build-provenance@v4
5144
with:
5245
subject-path: |
5346
dist/*.tar.gz

.github/workflows/license-check.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,8 @@ jobs:
3232
GH_TOKEN: ${{ github.token }}
3333
run: gh pr checkout ${{ github.event.pull_request.number }}
3434

35-
- name: Set up Node.js
36-
uses: actions/setup-node@v4
37-
with:
38-
node-version: "20"
39-
cache: "npm"
40-
cache-dependency-path: ui/package-lock.json
41-
4235
- name: Build UI
43-
run: script/build-ui
36+
uses: ./.github/actions/build-ui
4437

4538
- name: Set up Go
4639
uses: actions/setup-go@v6

.github/workflows/lint.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,8 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v6
17-
- uses: actions/setup-node@v4
18-
with:
19-
node-version: "20"
20-
cache: "npm"
21-
cache-dependency-path: ui/package-lock.json
2217
- name: Build UI
23-
run: script/build-ui
18+
uses: ./.github/actions/build-ui
2419
- uses: actions/setup-go@v6
2520
with:
2621
go-version: '1.25'

.github/workflows/mcp-diff.yml

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,8 @@ jobs:
1919
with:
2020
fetch-depth: 0
2121

22-
- name: Set up Node.js
23-
uses: actions/setup-node@v4
24-
with:
25-
node-version: '20'
26-
2722
- name: Build UI
28-
run: script/build-ui
23+
uses: ./.github/actions/build-ui
2924

3025
- name: Run MCP Server Diff
3126
uses: SamMorrowDrums/mcp-server-diff@v2.3.5
@@ -39,8 +34,6 @@ jobs:
3934
[
4035
{"name": "default", "args": ""},
4136
{"name": "read-only", "args": "--read-only"},
42-
{"name": "dynamic-toolsets", "args": "--dynamic-toolsets"},
43-
{"name": "read-only+dynamic", "args": "--read-only --dynamic-toolsets"},
4437
{"name": "toolsets-repos", "args": "--toolsets=repos"},
4538
{"name": "toolsets-issues", "args": "--toolsets=issues"},
4639
{"name": "toolsets-context", "args": "--toolsets=context"},
@@ -50,20 +43,7 @@ jobs:
5043
{"name": "toolsets-all", "args": "--toolsets=all"},
5144
{"name": "tools-get_me", "args": "--tools=get_me"},
5245
{"name": "tools-get_me,list_issues", "args": "--tools=get_me,list_issues"},
53-
{"name": "toolsets-repos+read-only", "args": "--toolsets=repos --read-only"},
54-
{"name": "toolsets-all+dynamic", "args": "--toolsets=all --dynamic-toolsets"},
55-
{"name": "toolsets-repos+dynamic", "args": "--toolsets=repos --dynamic-toolsets"},
56-
{"name": "toolsets-repos,issues+dynamic", "args": "--toolsets=repos,issues --dynamic-toolsets"},
57-
{
58-
"name": "dynamic-tool-calls",
59-
"args": "--dynamic-toolsets",
60-
"custom_messages": [
61-
{"id": 10, "name": "list_toolsets_before", "message": {"jsonrpc": "2.0", "id": 10, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}},
62-
{"id": 11, "name": "get_toolset_tools", "message": {"jsonrpc": "2.0", "id": 11, "method": "tools/call", "params": {"name": "get_toolset_tools", "arguments": {"toolset": "repos"}}}},
63-
{"id": 12, "name": "enable_toolset", "message": {"jsonrpc": "2.0", "id": 12, "method": "tools/call", "params": {"name": "enable_toolset", "arguments": {"toolset": "repos"}}}},
64-
{"id": 13, "name": "list_toolsets_after", "message": {"jsonrpc": "2.0", "id": 13, "method": "tools/call", "params": {"name": "list_available_toolsets", "arguments": {}}}}
65-
]
66-
}
46+
{"name": "toolsets-repos+read-only", "args": "--toolsets=repos --read-only"}
6747
]
6848
6949
- name: Add interpretation note

0 commit comments

Comments
 (0)