feat: rename to gitea-mcp-extended and add package publishing workflows
Some checks failed
release-nightly / publish-nightly (push) Failing after 44s
release / goreleaser (push) Failing after 37s
release / publish-packages (push) Has been skipped

Rename the fork from gitea-mcp to gitea-mcp-extended to reflect the
significantly expanded tool coverage (299 vs upstream's 93 tools).

- Rename Go module path and all import references
- Rename binary to gitea-mcp-extended in Makefile, Dockerfile, .gitignore
- Point .goreleaser.yaml gitea_urls to git.lethalbits.com
- Replace release-tag workflow with goreleaser + Generic Package Registry publishing
- Replace release-nightly workflow with cross-platform build + nightly package publishing
- Update CLAUDE.md project description and tool count
This commit is contained in:
Andrew Miller
2026-03-05 13:04:02 -05:00
parent df25d328d1
commit 60f05e5f1e
70 changed files with 337 additions and 348 deletions

View File

@@ -3,49 +3,46 @@ name: release-nightly
on:
push:
branches: [main]
tags:
- "*"
jobs:
release-image:
publish-nightly:
runs-on: ubuntu-latest
env:
DOCKER_ORG: gitea
DOCKER_LATEST: nightly
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
with:
fetch-depth: 0 # all history for all branches and tags
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
fetch-depth: 0
- uses: actions/setup-go@v6
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Get Meta
id: meta
go-version: stable
- name: Build all platforms
run: |
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
echo REPO_VERSION=$(git describe --tags --always | sed 's/-/+/' | sed 's/^v//') >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
linux/arm64
push: true
tags: |
${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}-server:${{ env.DOCKER_LATEST }}
build-args: |
VERSION=${{ steps.meta.outputs.REPO_VERSION }}
VERSION=$(git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
TARGETS="linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64"
for target in $TARGETS; do
OS=${target%/*}; ARCH=${target#*/}
case $ARCH in amd64) UARCH=x86_64;; arm64) UARCH=arm64;; esac
case $OS in linux) UOS=Linux;; darwin) UOS=Darwin;; windows) UOS=Windows;; esac
EXT=tar.gz; [ "$OS" = "windows" ] && EXT=zip
OUTDIR="dist/gitea-mcp-extended_${UOS}_${UARCH}"
mkdir -p "$OUTDIR"
CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH \
go build -trimpath -ldflags "-s -w -X main.Version=$VERSION" \
-o "$OUTDIR/gitea-mcp-extended$([ $OS = windows ] && echo .exe)"
ARCHIVE="gitea-mcp-extended_${UOS}_${UARCH}.${EXT}"
if [ "$EXT" = "zip" ]; then
(cd "$OUTDIR" && zip -r "../../$ARCHIVE" .)
else
tar czf "$ARCHIVE" -C "$OUTDIR" .
fi
done
- name: Publish nightly to Generic Package Registry
run: |
for f in gitea-mcp-extended_*.{tar.gz,zip}; do
[ -f "$f" ] || continue
# Delete old nightly file first (can't overwrite)
curl -sf -X DELETE --user "${{ gitea.actor }}:${{ secrets.GITHUB_TOKEN }}" \
"${{ gitea.server_url }}/api/packages/lethalbits/generic/gitea-mcp-extended/nightly/${f}" || true
curl -sf --user "${{ gitea.actor }}:${{ secrets.GITHUB_TOKEN }}" \
--upload-file "$f" \
"${{ gitea.server_url }}/api/packages/lethalbits/generic/gitea-mcp-extended/nightly/${f}"
done

View File

@@ -2,69 +2,61 @@ name: release
on:
push:
tags:
- "*"
tags: ["*"]
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v6
- uses: actions/setup-go@v6
with:
go-version: stable
- name: Install GoReleaser
run: go install github.com/goreleaser/goreleaser/v2@latest
- name: Run GoReleaser
run: goreleaser release --clean
- run: go install github.com/goreleaser/goreleaser/v2@latest
- run: goreleaser release --clean
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GORELEASER_FORCE_TOKEN: "gitea"
release-image:
publish-packages:
runs-on: ubuntu-latest
env:
DOCKER_ORG: gitea
DOCKER_LATEST: latest
needs: goreleaser
steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
fetch-depth: 0 # all history for all branches and tags
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Get Meta
id: meta
go-version: stable
- name: Build all platforms
run: |
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
echo REPO_VERSION=${GITHUB_REF_NAME#v} >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
linux/arm64
push: true
build-args: |
VERSION=${{ steps.meta.outputs.REPO_VERSION }}
tags: |
${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}-server:${{ steps.meta.outputs.REPO_VERSION }}
${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}-server:${{ env.DOCKER_LATEST }}
VERSION=${GITHUB_REF_NAME#v}
TARGETS="linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64"
for target in $TARGETS; do
OS=${target%/*}
ARCH=${target#*/}
# Match goreleaser naming
case $ARCH in amd64) UARCH=x86_64;; arm64) UARCH=arm64;; esac
case $OS in linux) UOS=Linux;; darwin) UOS=Darwin;; windows) UOS=Windows;; esac
EXT=tar.gz; [ "$OS" = "windows" ] && EXT=zip
OUTDIR="dist/gitea-mcp-extended_${UOS}_${UARCH}"
mkdir -p "$OUTDIR"
CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH \
go build -trimpath -ldflags "-s -w -X main.Version=$VERSION" \
-o "$OUTDIR/gitea-mcp-extended$([ $OS = windows ] && echo .exe)"
ARCHIVE="gitea-mcp-extended_${UOS}_${UARCH}.${EXT}"
if [ "$EXT" = "zip" ]; then
(cd "$OUTDIR" && zip -r "../../$ARCHIVE" .)
else
tar czf "$ARCHIVE" -C "$OUTDIR" .
fi
done
- name: Publish to Generic Package Registry
run: |
VERSION=${GITHUB_REF_NAME#v}
for f in gitea-mcp-extended_*.{tar.gz,zip}; do
[ -f "$f" ] || continue
curl -sf --user "${{ gitea.actor }}:${{ secrets.GITHUB_TOKEN }}" \
--upload-file "$f" \
"${{ gitea.server_url }}/api/packages/lethalbits/generic/gitea-mcp-extended/${VERSION}/${f}"
done