Skip to content

Commit 8ca8260

Browse files
committed
Merge branch 'main' into claude/issue-1452-20250827-1021
Signed-off-by: ChrisJBurns <[email protected]>
2 parents 140d165 + 4ebad3d commit 8ca8260

File tree

267 files changed

+28867
-2729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+28867
-2729
lines changed

.github/workflows/claude.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212

1313
jobs:
1414
claude-code-action:
15+
name: Claude Code Action
1516
if: |
1617
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
1718
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||

.github/workflows/e2e-tests.yml

Lines changed: 59 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ permissions:
77
contents: read
88

99
jobs:
10-
e2e-tests:
11-
name: E2E Tests
10+
build-binary:
11+
name: Build ToolHive Binary
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
@@ -22,39 +22,88 @@ jobs:
2222
- name: Install Task
2323
uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2
2424
with:
25-
version: 3.x
25+
version: 3.44.1
2626
repo-token: ${{ secrets.GITHUB_TOKEN }}
2727

28-
- name: Install Ginkgo CLI
29-
run: go install github.com/onsi/ginkgo/v2/ginkgo@latest
30-
3128
- name: Build ToolHive binary
3229
run: |
3330
task build
3431
# Verify the binary was created and is executable
3532
ls -la ./bin/
3633
chmod +x ./bin/thv
3734
35+
- name: Upload ToolHive binary
36+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
37+
with:
38+
name: toolhive-binary
39+
path: ./bin/thv
40+
retention-days: 1
41+
42+
e2e-tests-core:
43+
name: E2E Tests Core (${{ matrix.title }})
44+
runs-on: ubuntu-latest
45+
needs: build-binary
46+
strategy:
47+
fail-fast: false
48+
matrix:
49+
include:
50+
- title: core
51+
label_filter: core
52+
artifact: e2e-test-results-core
53+
- title: mcp
54+
label_filter: mcp
55+
artifact: e2e-test-results-mcp
56+
- title: proxy-mw
57+
label_filter: 'proxy || middleware || stability'
58+
artifact: e2e-test-results-proxy-mw
59+
steps:
60+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
61+
62+
- name: Set up Go
63+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6
64+
with:
65+
go-version-file: 'go.mod'
66+
cache: true
67+
68+
- name: Install dependencies
69+
run: |
70+
go mod download
71+
- name: Install Ginkgo CLI
72+
run: |
73+
go install github.com/onsi/ginkgo/v2/ginkgo@latest
74+
75+
- name: Download ToolHive binary
76+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
77+
with:
78+
name: toolhive-binary
79+
path: ./bin/
80+
81+
- name: Set binary permissions
82+
run: |
83+
chmod +x ./bin/thv
84+
ls -la ./bin/
85+
3886
- name: Set up container runtime (Docker)
3987
run: |
4088
# Docker is already installed on ubuntu-latest
4189
docker --version
4290
# Start Docker daemon if not running
4391
sudo systemctl start docker
4492
45-
- name: Run E2E tests
93+
- name: Run E2E tests (${{ matrix.title }})
4694
env:
4795
THV_BINARY: ${{ github.workspace }}/bin/thv
4896
TOOLHIVE_EGRESS_IMAGE: ghcr.io/stacklok/toolhive/egress-proxy:latest
4997
TEST_TIMEOUT: 15m
98+
LABEL_FILTER: ${{ matrix.label_filter }}
5099
run: ./test/e2e/run_tests.sh
51100

52-
- name: Upload test results
101+
- name: Upload test results (${{ matrix.title }})
53102
if: always()
54103
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
55104
with:
56-
name: e2e-test-results
105+
name: ${{ matrix.artifact }}
57106
path: |
58107
test/e2e/ginkgo-report.xml
59108
test/e2e/junit-report.xml
60-
retention-days: 7
109+
retention-days: 7

.github/workflows/image-build-and-publish.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55

66
jobs:
77
image-build-and-publish:
8+
name: Build and Publish Main Image
89
runs-on: ubuntu-latest
910
permissions:
1011
contents: write
@@ -50,7 +51,7 @@ jobs:
5051
uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
5152

5253
- name: Install Cosign
53-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
54+
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
5455

5556
- name: Build and Push Image to GHCR
5657
env:
@@ -84,6 +85,7 @@ jobs:
8485
fi
8586
8687
egress-proxy-image-build-and-publish:
88+
name: Build and Publish Egress Proxy Image
8789
runs-on: ubuntu-latest
8890
permissions:
8991
contents: write
@@ -147,7 +149,7 @@ jobs:
147149
148150
- name: Install Cosign
149151
if: startsWith(github.ref, 'refs/tags/')
150-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
152+
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
151153

152154
- name: Sign container image
153155
if: startsWith(github.ref, 'refs/tags/')
@@ -157,6 +159,7 @@ jobs:
157159
cosign sign -y $BASE_REPO:latest
158160
159161
operator-image-build-and-publish:
162+
name: Build and Publish Operator Image
160163
runs-on: ubuntu-latest
161164
permissions:
162165
contents: write
@@ -178,7 +181,7 @@ jobs:
178181
- name: Install Task
179182
uses: arduino/setup-task@v2
180183
with:
181-
version: 3.x
184+
version: 3.44.1
182185
repo-token: ${{ secrets.GITHUB_TOKEN }}
183186

184187
- name: Generate CRDs
@@ -211,7 +214,7 @@ jobs:
211214
uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
212215

213216
- name: Install Cosign
214-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
217+
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
215218

216219
- name: Build and Push Image to GHCR
217220
env:
@@ -245,6 +248,7 @@ jobs:
245248
fi
246249
247250
proxyrunner-image-build-and-publish:
251+
name: Build and Publish Proxy Runner Image
248252
runs-on: ubuntu-latest
249253
permissions:
250254
contents: write
@@ -290,7 +294,7 @@ jobs:
290294
uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
291295

292296
- name: Install Cosign
293-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
297+
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
294298

295299
- name: Build and Push Image to GHCR
296300
env:
@@ -321,4 +325,4 @@ jobs:
321325
# Sign the latest tag if building from a tag
322326
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
323327
cosign sign -y $BASE_REPO:latest
324-
fi
328+
fi

.github/workflows/issue-triage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
name: Claude Issue Triage
2-
description: Run Claude Code for issue triage in GitHub Actions
32
on:
43
issues:
54
types: [opened]
65

76
jobs:
87
triage-issue:
8+
name: Triage Issue
99
runs-on: ubuntu-latest
1010
timeout-minutes: 10
1111
permissions:

.github/workflows/lint-helm-charts.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ on:
77
workflow_call:
88

99
jobs:
10-
lint:
10+
lint-helm-charts:
11+
name: Lint Helm Charts
1112
runs-on: ubuntu-latest
1213
env:
1314
GO111MODULE: on

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ permissions:
77
contents: read
88

99
jobs:
10-
lint:
11-
name: Lint
10+
lint-go-code:
11+
name: Lint Go Code
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5

.github/workflows/operator-ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ permissions:
1111
contents: read
1212

1313
jobs:
14-
tests:
15-
name: Tests
14+
operator-tests:
15+
name: Operator Tests
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
@@ -26,14 +26,14 @@ jobs:
2626
- name: Install Task
2727
uses: arduino/setup-task@v2
2828
with:
29-
version: 3.x
29+
version: 3.44.1
3030
repo-token: ${{ secrets.GITHUB_TOKEN }}
3131

3232
- name: Run tests
3333
run: task operator-test
3434

35-
build:
36-
name: Build
35+
build-operator:
36+
name: Build Operator
3737
runs-on: ubuntu-latest
3838
steps:
3939
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
@@ -47,7 +47,7 @@ jobs:
4747
- name: Install Task
4848
uses: arduino/setup-task@v2
4949
with:
50-
version: 3.x
50+
version: 3.44.1
5151
repo-token: ${{ secrets.GITHUB_TOKEN }}
5252

5353
- name: Build operator
@@ -68,7 +68,7 @@ jobs:
6868
- name: Install Task
6969
uses: arduino/setup-task@v2
7070
with:
71-
version: 3.x
71+
version: 3.44.1
7272
repo-token: ${{ secrets.GITHUB_TOKEN }}
7373

7474
- name: Generate CRDs
@@ -77,7 +77,7 @@ jobs:
7777
- name: Check for changes
7878
id: git-check
7979
run: |
80-
git diff --exit-code deploy/charts/operator-crds/templates || echo "crd-changes=true" >> $GITHUB_OUTPUT
80+
git diff --exit-code deploy/charts/operator-crds/crds || echo "crd-changes=true" >> $GITHUB_OUTPUT
8181
git diff --exit-code deploy/charts/operator/templates || echo "operator-changes=true" >> $GITHUB_OUTPUT
8282
8383
- name: Fail if CRDs are not up to date
@@ -101,7 +101,7 @@ jobs:
101101
- name: Install Task
102102
uses: arduino/setup-task@v2
103103
with:
104-
version: 3.x
104+
version: 3.44.1
105105
repo-token: ${{ secrets.GITHUB_TOKEN }}
106106

107107
- name: Generate CRD Docs
@@ -119,8 +119,8 @@ jobs:
119119
echo "Docs for CRDs are not up to date. Please run 'task crdref-gen' and commit the changes."
120120
exit 1
121121
122-
e2e-tests:
123-
name: E2E Tests
122+
e2e-tests-operator:
123+
name: E2E Tests Operator
124124
runs-on: ubuntu-latest
125125
timeout-minutes: 30
126126
defaults:
@@ -157,7 +157,7 @@ jobs:
157157
- name: Install Task
158158
uses: arduino/setup-task@v2
159159
with:
160-
version: 3.x
160+
version: 3.44.1
161161
repo-token: ${{ secrets.GITHUB_TOKEN }}
162162

163163
- name: Install yardstick client

.github/workflows/releaser-helm-charts.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ on:
33
workflow_call:
44

55
jobs:
6-
release:
6+
release-helm-charts:
7+
name: Release Helm Charts
78
runs-on: ubuntu-latest
89

910
permissions:
@@ -42,7 +43,7 @@ jobs:
4243
password: ${{ secrets.GITHUB_TOKEN }}
4344

4445
- name: Install Cosign
45-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
46+
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
4647

4748
- name: Publish and Sign OCI Charts
4849
run: |
@@ -76,14 +77,14 @@ jobs:
7677
json_array="${json_array}]"
7778
echo "published_charts_matrix=${json_array}" >> $GITHUB_OUTPUT
7879
79-
update-docs-website:
80-
name: Trigger Docs Update
81-
needs: [ release ]
80+
update-docs-website-charts:
81+
name: Trigger Docs Update for Charts
82+
needs: [ release-helm-charts ]
8283
permissions: {}
8384
uses: ./.github/workflows/update-docs-website.yml
8485
strategy:
8586
matrix:
86-
version: ${{ fromJSON(needs.release.outputs.released_charts) }}
87+
version: ${{ fromJSON(needs.release-helm-charts.outputs.released_charts) }}
8788
with:
8889
version: ${{ matrix.version }}
8990
secrets:

0 commit comments

Comments
 (0)