Skip to content

Commit 8fb4c6d

Browse files
authored
Merge pull request #5 from gaarutyunov/claude/issue-4-20260331-0747
feat: TASK-02 GitHub Actions CI
2 parents 769c564 + ccd8be9 commit 8fb4c6d

8 files changed

Lines changed: 408 additions & 33 deletions

File tree

.github/workflows/ci.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
env:
14+
GOWORK: off
15+
16+
jobs:
17+
lint-and-test:
18+
name: Lint, Vet, Unit Tests, Build
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- uses: actions/setup-go@v5
24+
with:
25+
go-version-file: go.mod
26+
cache: true
27+
28+
- name: Install golangci-lint
29+
run: |
30+
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \
31+
| sh -s -- -b $(go env GOPATH)/bin
32+
33+
- name: go vet
34+
run: go vet ./...
35+
36+
- name: golangci-lint
37+
run: golangci-lint run ./...
38+
39+
- name: Unit tests
40+
run: go test -race -count=1 ./...
41+
42+
- name: Build
43+
run: go build ./...
44+
45+
integration-test:
46+
name: Integration Tests
47+
runs-on: ubuntu-latest
48+
needs: lint-and-test
49+
steps:
50+
- uses: actions/checkout@v4
51+
52+
- uses: actions/setup-go@v5
53+
with:
54+
go-version-file: go.mod
55+
cache: true
56+
57+
- name: Setup Testcontainers Cloud Client
58+
uses: atomicjar/testcontainers-cloud-setup-action@v1
59+
with:
60+
token: ${{ secrets.TC_CLOUD_TOKEN }}
61+
62+
- name: Integration tests
63+
run: go test -race -tags integration -count=1 -timeout 300s ./...

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,5 @@ jobs:
4646
# Optional: Add claude_args to customize behavior and configuration
4747
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
4848
# or https://code.claude.com/docs/en/cli-reference for available options
49-
# claude_args: '--allowed-tools Bash(gh pr:*)'
49+
claude_args: '--allowed-tools Bash(make:*),Bash(go mod tidy),Bash(git fetch *),Bash(git pull *)'
5050

.golangci.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,23 @@ version: "2"
22
linters:
33
enable:
44
- errcheck
5-
- gosimple
65
- govet
76
- ineffassign
87
- staticcheck
98
- unused
10-
- gofmt
11-
- goimports
129
- misspell
1310
- revive
1411
- exhaustive
1512
- noctx
1613
- bodyclose
1714
- contextcheck
15+
formatters:
16+
enable:
17+
- gofmt
18+
- goimports
1819
linters-settings:
1920
goimports:
20-
local-prefixes: github.com/your-org/mcp-anything
21+
local-prefixes: github.com/gaarutyunov/mcp-anything
2122
revive:
2223
rules:
2324
- name: exported

cmd/proxy/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Package main is the entry point for the mcp-anything proxy.
12
package main
23

34
import (

go.mod

Lines changed: 60 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,64 @@
1-
module github.com/your-org/mcp-anything
1+
module github.com/gaarutyunov/mcp-anything
22

3-
go 1.23
3+
go 1.25.0
4+
5+
require github.com/testcontainers/testcontainers-go v0.36.0
46

57
require (
6-
github.com/brianvoe/gofakeit/v7 v7.2.1
7-
github.com/coreos/go-oidc/v3 v3.17.0
8-
github.com/fsnotify/fsnotify v1.9.0
9-
github.com/getkin/kin-openapi v0.134.0
10-
github.com/go-chi/chi/v5 v5.2.0
11-
github.com/itchyny/gojq v0.12.18
12-
github.com/knadh/koanf/parsers/yaml v0.1.0
13-
github.com/knadh/koanf/providers/file v1.1.2
14-
github.com/knadh/koanf/v2 v2.1.2
15-
github.com/lucasjones/reggen v0.0.0-20200904144131-37352a28cb6b
16-
github.com/modelcontextprotocol/go-sdk v1.3.0
17-
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
18-
github.com/speakeasy-api/openapi-overlay v0.10.3
19-
github.com/testcontainers/testcontainers-go v0.36.0
20-
github.com/yuin/gopher-lua v1.1.1
21-
github.com/zitadel/oidc/v3 v3.45.1
22-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0
23-
go.opentelemetry.io/otel v1.35.0
24-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0
25-
go.opentelemetry.io/otel/exporters/prometheus v0.57.0
26-
go.opentelemetry.io/otel/metric v1.35.0
27-
go.opentelemetry.io/otel/sdk v1.35.0
28-
go.opentelemetry.io/otel/sdk/metric v1.35.0
29-
go.opentelemetry.io/otel/trace v1.35.0
30-
golang.org/x/oauth2 v0.33.0
31-
gopkg.in/yaml.v3 v3.0.1
8+
dario.cat/mergo v1.0.1 // indirect
9+
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
10+
github.com/Microsoft/go-winio v0.6.2 // indirect
11+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
12+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
13+
github.com/containerd/log v0.1.0 // indirect
14+
github.com/containerd/platforms v0.2.1 // indirect
15+
github.com/cpuguy83/dockercfg v0.3.2 // indirect
16+
github.com/davecgh/go-spew v1.1.1 // indirect
17+
github.com/distribution/reference v0.6.0 // indirect
18+
github.com/docker/docker v28.0.1+incompatible // indirect
19+
github.com/docker/go-connections v0.5.0 // indirect
20+
github.com/docker/go-units v0.5.0 // indirect
21+
github.com/ebitengine/purego v0.8.2 // indirect
22+
github.com/felixge/httpsnoop v1.0.4 // indirect
23+
github.com/go-logr/logr v1.4.3 // indirect
24+
github.com/go-logr/stdr v1.2.2 // indirect
25+
github.com/go-ole/go-ole v1.2.6 // indirect
26+
github.com/gogo/protobuf v1.3.2 // indirect
27+
github.com/google/uuid v1.6.0 // indirect
28+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect
29+
github.com/klauspost/compress v1.17.4 // indirect
30+
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
31+
github.com/magiconair/properties v1.8.9 // indirect
32+
github.com/moby/docker-image-spec v1.3.1 // indirect
33+
github.com/moby/patternmatcher v0.6.0 // indirect
34+
github.com/moby/sys/sequential v0.5.0 // indirect
35+
github.com/moby/sys/user v0.1.0 // indirect
36+
github.com/moby/sys/userns v0.1.0 // indirect
37+
github.com/moby/term v0.5.0 // indirect
38+
github.com/morikuni/aec v1.0.0 // indirect
39+
github.com/opencontainers/go-digest v1.0.0 // indirect
40+
github.com/opencontainers/image-spec v1.1.1 // indirect
41+
github.com/pkg/errors v0.9.1 // indirect
42+
github.com/pmezard/go-difflib v1.0.0 // indirect
43+
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
44+
github.com/shirou/gopsutil/v4 v4.25.1 // indirect
45+
github.com/sirupsen/logrus v1.9.3 // indirect
46+
github.com/stretchr/testify v1.11.1 // indirect
47+
github.com/tklauser/go-sysconf v0.3.12 // indirect
48+
github.com/tklauser/numcpus v0.6.1 // indirect
49+
github.com/yusufpapurcu/wmi v1.2.4 // indirect
50+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
51+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect
52+
go.opentelemetry.io/otel v1.42.0 // indirect
53+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 // indirect
54+
go.opentelemetry.io/otel/metric v1.42.0 // indirect
55+
go.opentelemetry.io/otel/trace v1.42.0 // indirect
56+
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
57+
golang.org/x/crypto v0.45.0 // indirect
58+
golang.org/x/sys v0.41.0 // indirect
59+
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect
60+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect
61+
google.golang.org/grpc v1.71.0 // indirect
62+
google.golang.org/protobuf v1.36.5 // indirect
63+
gopkg.in/yaml.v3 v3.0.1 // indirect
3264
)

0 commit comments

Comments
 (0)