Skip to content

Commit 0743ed9

Browse files
committed
Merge branch 'main' into Get-Gist-Tool
2 parents 8f4f83d + 0b65b1b commit 0743ed9

109 files changed

Lines changed: 7684 additions & 2554 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.

.github/workflows/close-inactive-issues.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ jobs:
77
close-issues:
88
runs-on: ubuntu-latest
99
env:
10-
PR_DAYS_BEFORE_STALE: 60
11-
PR_DAYS_BEFORE_CLOSE: 120
10+
PR_DAYS_BEFORE_STALE: 30
11+
PR_DAYS_BEFORE_CLOSE: 60
1212
PR_STALE_LABEL: stale
1313
permissions:
1414
issues: write
@@ -21,8 +21,8 @@ jobs:
2121
stale-issue-label: ${{ env.PR_STALE_LABEL }}
2222
stale-issue-message: "This issue is stale because it has been open for ${{ env.PR_DAYS_BEFORE_STALE }} days with no activity. Leave a comment to avoid closing this issue in ${{ env.PR_DAYS_BEFORE_CLOSE }} days."
2323
close-issue-message: "This issue was closed because it has been inactive for ${{ env.PR_DAYS_BEFORE_CLOSE }} days since being marked as stale."
24-
days-before-pr-stale: -1
25-
days-before-pr-close: -1
24+
days-before-pr-stale: ${{ env.PR_DAYS_BEFORE_STALE }}
25+
days-before-pr-close: ${{ env.PR_DAYS_BEFORE_STALE }}
2626
# Start with the oldest items first
2727
ascending: true
2828
repo-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/code-scanning.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
uses: actions/checkout@v5
3939

4040
- name: Initialize CodeQL
41-
uses: github/codeql-action/init@v3
41+
uses: github/codeql-action/init@v4
4242
with:
4343
languages: ${{ matrix.language }}
4444
build-mode: ${{ matrix.build-mode }}
@@ -52,28 +52,28 @@ jobs:
5252
threat-models: [ ]
5353
- name: Setup proxy for registries
5454
id: proxy
55-
uses: github/codeql-action/start-proxy@v3
55+
uses: github/codeql-action/start-proxy@v4
5656
with:
5757
registries_credentials: ${{ secrets.GITHUB_REGISTRIES_PROXY }}
5858
language: ${{ matrix.language }}
5959

6060
- name: Configure
61-
uses: github/codeql-action/resolve-environment@v3
61+
uses: github/codeql-action/resolve-environment@v4
6262
id: resolve-environment
6363
with:
6464
language: ${{ matrix.language }}
6565
- name: Setup Go
66-
uses: actions/setup-go@v5
66+
uses: actions/setup-go@v6
6767
if: matrix.language == 'go' && fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version
6868
with:
6969
go-version: ${{ fromJSON(steps.resolve-environment.outputs.environment).configuration.go.version }}
7070
cache: false
7171

7272
- name: Autobuild
73-
uses: github/codeql-action/autobuild@v3
73+
uses: github/codeql-action/autobuild@v4
7474

7575
- name: Perform CodeQL Analysis
76-
uses: github/codeql-action/analyze@v3
76+
uses: github/codeql-action/analyze@v4
7777
env:
7878
CODEQL_PROXY_HOST: ${{ steps.proxy.outputs.proxy_host }}
7979
CODEQL_PROXY_PORT: ${{ steps.proxy.outputs.proxy_port }}

.github/workflows/docker-publish.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ on:
1414
tags: ["v*.*.*"]
1515
pull_request:
1616
branches: ["main", "next"]
17+
workflow_dispatch:
18+
inputs:
19+
description:
20+
required: false
21+
description: "Description of the run."
22+
type: string
23+
default: "Manual run"
1724

1825
env:
1926
# Use docker.io for Docker Hub if empty
@@ -39,7 +46,7 @@ jobs:
3946
# https://github.com/sigstore/cosign-installer
4047
- name: Install cosign
4148
if: github.event_name != 'pull_request'
42-
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 #v3.5.0
49+
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad #v4.0.0
4350
with:
4451
cosign-release: "v2.2.4"
4552

@@ -53,7 +60,7 @@ jobs:
5360
# https://github.com/docker/login-action
5461
- name: Log into registry ${{ env.REGISTRY }}
5562
if: github.event_name != 'pull_request'
56-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
63+
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
5764
with:
5865
registry: ${{ env.REGISTRY }}
5966
username: ${{ github.actor }}
@@ -94,7 +101,7 @@ jobs:
94101
# https://github.com/docker/build-push-action
95102
- name: Build and push Docker image
96103
id: build-and-push
97-
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
104+
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
98105
with:
99106
context: .
100107
push: ${{ github.event_name != 'pull_request' }}
@@ -120,3 +127,4 @@ jobs:
120127
# This step uses the identity token to provision an ephemeral certificate
121128
# against the sigstore community Fulcio instance.
122129
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
130+

.github/workflows/docs-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
uses: actions/checkout@v5
1818

1919
- name: Set up Go
20-
uses: actions/setup-go@v5
20+
uses: actions/setup-go@v6
2121
with:
2222
go-version-file: 'go.mod'
2323

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
uses: actions/checkout@v5
1919

2020
- name: Set up Go
21-
uses: actions/setup-go@v5
21+
uses: actions/setup-go@v6
2222
with:
2323
go-version-file: "go.mod"
2424

.github/workflows/goreleaser.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ jobs:
1717
uses: actions/checkout@v5
1818

1919
- name: Set up Go
20-
uses: actions/setup-go@v5
20+
uses: actions/setup-go@v6
2121
with:
2222
go-version-file: "go.mod"
2323

2424
- name: Download dependencies
2525
run: go mod download
2626

2727
- name: Run GoReleaser
28-
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552
28+
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a
2929
with:
3030
distribution: goreleaser
3131
# GoReleaser version

.github/workflows/license-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
uses: actions/checkout@v5
1515

1616
- name: Set up Go
17-
uses: actions/setup-go@v5
17+
uses: actions/setup-go@v6
1818
with:
1919
go-version-file: "go.mod"
2020
- name: check licenses

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v5
17-
- uses: actions/setup-go@v5
17+
- uses: actions/setup-go@v6
1818
with:
1919
go-version: stable
2020
- name: golangci-lint
2121
uses: golangci/golangci-lint-action@v8
2222
with:
23-
version: v2.1
23+
version: v2.5

.github/workflows/moderator.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: AI Moderator
2+
on:
3+
issues:
4+
types: [opened]
5+
issue_comment:
6+
types: [created]
7+
pull_request_review_comment:
8+
types: [created]
9+
10+
jobs:
11+
spam-detection:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
issues: write
15+
pull-requests: write
16+
models: read
17+
contents: read
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: github/ai-moderator@v1
21+
with:
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
spam-label: 'spam'
24+
ai-label: 'ai-generated'
25+
minimize-detected-comments: true
26+
enable-spam-detection: true
27+
enable-link-spam-detection: true
28+
enable-ai-detection: true
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Publish to MCP Registry
2+
3+
on:
4+
push:
5+
tags: ["v*"] # Triggers on version tags like v1.0.0
6+
workflow_dispatch: # Allow manual triggering
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
id-token: write # Required for OIDC authentication
13+
contents: read
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v5
18+
19+
- name: Setup Go
20+
uses: actions/setup-go@v6
21+
with:
22+
go-version: "stable"
23+
24+
- name: Fetch tags
25+
run: |
26+
if [[ "${{ github.ref_type }}" != "tag" ]]; then
27+
git fetch --tags
28+
else
29+
echo "Skipping tag fetch - already on tag ${{ github.ref_name }}"
30+
fi
31+
32+
- name: Wait for Docker image
33+
run: |
34+
if [[ "${{ github.ref_type }}" == "tag" ]]; then
35+
TAG="${{ github.ref_name }}"
36+
else
37+
TAG=$(git tag --sort=-version:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n1)
38+
fi
39+
IMAGE="ghcr.io/github/github-mcp-server:$TAG"
40+
41+
for i in {1..10}; do
42+
if docker manifest inspect "$IMAGE" &>/dev/null; then
43+
echo "✅ Docker image ready: $TAG"
44+
break
45+
fi
46+
[ $i -eq 10 ] && { echo "❌ Timeout waiting for $TAG after 5 minutes"; exit 1; }
47+
echo "⏳ Waiting for Docker image ($i/10)..."
48+
sleep 30
49+
done
50+
51+
- name: Install MCP Publisher
52+
run: |
53+
git clone --quiet https://github.com/modelcontextprotocol/registry publisher-repo
54+
cd publisher-repo && make publisher > /dev/null && cd ..
55+
cp publisher-repo/bin/mcp-publisher . && chmod +x mcp-publisher
56+
57+
- name: Update server.json version
58+
run: |
59+
if [[ "${{ github.ref_type }}" == "tag" ]]; then
60+
TAG_VERSION=$(echo "${{ github.ref_name }}" | sed 's/^v//')
61+
else
62+
LATEST_TAG=$(git tag --sort=-version:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1)
63+
[ -z "$LATEST_TAG" ] && { echo "No release tag found"; exit 1; }
64+
TAG_VERSION=$(echo "$LATEST_TAG" | sed 's/^v//')
65+
echo "Using latest tag: $LATEST_TAG"
66+
fi
67+
sed -i "s/\${VERSION}/$TAG_VERSION/g" server.json
68+
echo "Version: $TAG_VERSION"
69+
70+
- name: Validate configuration
71+
run: |
72+
python3 -m json.tool server.json > /dev/null && echo "Configuration valid" || exit 1
73+
74+
- name: Display final server.json
75+
run: |
76+
echo "Final server.json contents:"
77+
cat server.json
78+
79+
- name: Login to MCP Registry (OIDC)
80+
run: ./mcp-publisher login github-oidc
81+
82+
- name: Publish to MCP Registry
83+
run: ./mcp-publisher publish

0 commit comments

Comments
 (0)