Files
gitea-mcp-extended/.gitea/workflows/release-nightly.yml
Andrew Miller 69e4aa00a6
Some checks failed
release-nightly / publish-nightly (push) Failing after 45s
release / goreleaser (push) Successful in 1m14s
release / publish-packages (push) Failing after 35s
fix: use org secret DEPLOYER_API_GITEA_API_KEY for package uploads
2026-03-05 13:32:35 -05:00

73 lines
2.7 KiB
YAML

name: release-nightly
on:
push:
branches: [main]
env:
GIT_SSL_NO_VERIFY: true
GOPRIVATE: git.lethalbits.com/*
GONOSUMCHECK: git.lethalbits.com/*
GOINSECURE: git.lethalbits.com/*
permissions:
contents: read
packages: write
jobs:
publish-nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Build all platforms
run: |
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
env:
GITEA_TOKEN: ${{ secrets.DEPLOYER_API_GITEA_API_KEY }}
run: |
API_BASE="https://git.lethalbits.com/api/packages/lethalbits/generic/gitea-mcp-extended/nightly"
echo "Publishing to: $API_BASE"
ls -la gitea-mcp-extended_*.tar.gz gitea-mcp-extended_*.zip 2>/dev/null || true
for f in gitea-mcp-extended_*.tar.gz gitea-mcp-extended_*.zip; do
[ -f "$f" ] || continue
echo "Uploading $f..."
# Delete old nightly file first (can't overwrite)
curl -k -X DELETE -H "Authorization: token ${GITEA_TOKEN}" \
"${API_BASE}/${f}" || true
HTTP_CODE=$(curl -k -o /tmp/upload_response -w '%{http_code}' \
-H "Authorization: token ${GITEA_TOKEN}" \
--upload-file "$f" \
"${API_BASE}/${f}")
echo "HTTP response: $HTTP_CODE"
if [ "$HTTP_CODE" -lt 200 ] || [ "$HTTP_CODE" -ge 300 ]; then
echo "Upload failed! Response body:"
cat /tmp/upload_response
exit 1
fi
echo "Uploaded $f successfully"
done