Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github 2/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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
20 changes: 20 additions & 0 deletions .github 2/workflows/fly-deploy.yml
Original file line number Diff line number Diff line change
@@ -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 }}
21 changes: 21 additions & 0 deletions .github 2/workflows/fly-staging.yml
Original file line number Diff line number Diff line change
@@ -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 }}
40 changes: 40 additions & 0 deletions .github 2/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -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/).

Expand Down