feat: rename to gitea-mcp-extended and add package publishing workflows
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user