Skip to content

Commit d08ff79

Browse files
Merge branch 'main' into fix/is-error-validation
2 parents 968422b + bafcaf5 commit d08ff79

96 files changed

Lines changed: 5280 additions & 1685 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/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: 1 addition & 6 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

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20-alpine@sha256:09e2b3d9726018aecf269bd35325f46bf75046a643a66d28360ec71132750ec8 AS ui-build
1+
FROM node:26-alpine@sha256:e71ac5e964b9201072425d59d2e876359efa25dc96bb1768cb73295728d6e4ea AS ui-build
22
WORKDIR /app
33
COPY ui/package*.json ./ui/
44
RUN cd ui && npm ci
@@ -7,7 +7,7 @@ COPY ui/ ./ui/
77
RUN mkdir -p ./pkg/github/ui_dist && \
88
cd ui && npm run build
99

10-
FROM golang:1.25.9-alpine@sha256:5caaf1cca9dc351e13deafbc3879fd4754801acba8653fa9540cea125d01a71f AS build
10+
FROM golang:1.25.10-alpine@sha256:8d22e29d960bc50cd025d93d5b7c7d220b1ee9aa7a239b3c8f55a57e987e8d45 AS build
1111
ARG VERSION="dev"
1212

1313
# Set the working directory
@@ -30,7 +30,7 @@ RUN --mount=type=cache,target=/go/pkg/mod \
3030
-o /bin/github-mcp-server ./cmd/github-mcp-server
3131

3232
# Make a stage to run the app
33-
FROM gcr.io/distroless/base-debian12@sha256:9dce90e688a57e59ce473ff7bc4c80bc8fe52d2303b4d99b44f297310bbd2210
33+
FROM gcr.io/distroless/base-debian12@sha256:58695f439f772a00009c8f6be4c183f824c1f556d74b313c30900f167e4772f8
3434

3535
# Add required MCP server annotation
3636
LABEL io.modelcontextprotocol.server.name="io.github.github/github-mcp-server"

0 commit comments

Comments
 (0)