From 194702b0860b367179bdd3eb8661c3ede3adcb4b Mon Sep 17 00:00:00 2001 From: Matvey-Kuk Date: Mon, 18 Aug 2025 15:04:58 +0100 Subject: [PATCH] Add MCP Catalog Trust Score badge --- .github 2/workflows/build.yml | 55 +++++++++++++++++++++++++++++ .github 2/workflows/fly-deploy.yml | 20 +++++++++++ .github 2/workflows/fly-staging.yml | 21 +++++++++++ .github 2/workflows/go.yml | 40 +++++++++++++++++++++ README.md | 1 + 5 files changed, 137 insertions(+) create mode 100644 .github 2/workflows/build.yml create mode 100644 .github 2/workflows/fly-deploy.yml create mode 100644 .github 2/workflows/fly-staging.yml create mode 100644 .github 2/workflows/go.yml diff --git a/.github 2/workflows/build.yml b/.github 2/workflows/build.yml new file mode 100644 index 0000000..9dfa475 --- /dev/null +++ b/.github 2/workflows/build.yml @@ -0,0 +1,55 @@ +name: release build + +on: + push: + tags: + - '*' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +permissions: + contents: write + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Building ${{ env.os }} ${{ env.arch }} + env: + os: linux + arch: amd64 + run: + GOOS=${{ env.os }} GOARCH=${{ env.arch }} CGO_ENABLED=0 go build -o gomcp-${{ env.os }}-${{ env.arch }} + + - name: Building ${{ env.os }} ${{ env.arch }} + env: + os: linux + arch: arm64 + run: + GOOS=${{ env.os }} GOARCH=${{ env.arch }} CGO_ENABLED=0 go build -o gomcp-${{ env.os }}-${{ env.arch }} + + - name: Building ${{ env.os }} ${{ env.arch }} + env: + os: darwin + arch: amd64 + run: + GOOS=${{ env.os }} GOARCH=${{ env.arch }} CGO_ENABLED=0 go build -o gomcp-${{ env.os }}-${{ env.arch }} + + - name: Building ${{ env.os }} ${{ env.arch }} + env: + os: darwin + arch: arm64 + run: + GOOS=${{ env.os }} GOARCH=${{ env.arch }} CGO_ENABLED=0 go build -o gomcp-${{ env.os }}-${{ env.arch }} + + - name: Upload the build + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: gomcp-linux-amd64,gomcp-linux-arm64,gomcp-darwin-amd64,gomcp-darwin-arm64 diff --git a/.github 2/workflows/fly-deploy.yml b/.github 2/workflows/fly-deploy.yml new file mode 100644 index 0000000..7f68055 --- /dev/null +++ b/.github 2/workflows/fly-deploy.yml @@ -0,0 +1,20 @@ +name: Fly Deploy production +on: + push: + tags: + - '*' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + deploy: + name: Deploy app in production + runs-on: ubuntu-latest + concurrency: deploy-group # optional: ensure only one action runs at a time + steps: + - uses: actions/checkout@v4 + - uses: superfly/flyctl-actions/setup-flyctl@master + - run: flyctl deploy --remote-only + env: + FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github 2/workflows/fly-staging.yml b/.github 2/workflows/fly-staging.yml new file mode 100644 index 0000000..e6691d2 --- /dev/null +++ b/.github 2/workflows/fly-staging.yml @@ -0,0 +1,21 @@ +name: Fly Deploy staging + +on: + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + deploy: + name: Deploy app in staging + runs-on: ubuntu-latest + concurrency: deploy-group-staging # optional: ensure only one action runs at a time + steps: + - uses: actions/checkout@v4 + - uses: superfly/flyctl-actions/setup-flyctl@master + - run: flyctl deploy --remote-only --config fly-staging.toml + env: + FLY_API_TOKEN: ${{ secrets.FLY_STAGING_API_TOKEN }} diff --git a/.github 2/workflows/go.yml b/.github 2/workflows/go.yml new file mode 100644 index 0000000..767823d --- /dev/null +++ b/.github 2/workflows/go.yml @@ -0,0 +1,40 @@ +# https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-go +name: go + +on: + pull_request: + + # By default GH trigger on types opened, synchronize and reopened. + # see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request + # Since we skip the job when the PR is in draft state, we want to force CI + # running when the PR is marked ready_for_review w/o other change. + # see https://github.com/orgs/community/discussions/25722#discussioncomment-3248917 + types: [opened, synchronize, reopened, ready_for_review] + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + go: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: setup + uses: actions/setup-go@v5 + with: + go-version: '1.23.1' + + - name: dependencies + run: go get . + + - name: build + run: go build -v ./... + + - name: test + run: go test -v ./... + + - name: lint + uses: golangci/golangci-lint-action@v6 + with: + version: latest diff --git a/README.md b/README.md index 95bdacd..95e3692 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Lightpanda Go MCP server +[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/lightpanda-io/gomcp)](https://archestra.ai/mcp-catalog/lightpanda-io__gomcp) `gomcp` is an [MCP server](https://modelcontextprotocol.io) written in [Go](https://go.dev/).