From 4db69e46a788024f90e89bd47e95209b3baef688 Mon Sep 17 00:00:00 2001 From: Augustin Date: Sun, 19 Apr 2026 22:43:12 +0200 Subject: [PATCH] ci: restore actions/checkout + simplify workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use actions/checkout@v4 (works with Gitea runner) - Simplified CI: build + vet - Release: auto on push to main, creates/updates "latest" release - Cleaned up archive step 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush --- .gitea/workflows/ci.yml | 12 +---- .gitea/workflows/release.yml | 87 +++++++++++------------------------- 2 files changed, 28 insertions(+), 71 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 04fd9f4..4b9e2b9 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -10,27 +10,17 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout - run: | - git init - git remote add origin ${{ github.server_url }}/${{ github.repository }}.git - git fetch origin ${{ github.ref }} - git checkout FETCH_HEAD - git log --oneline -3 + - uses: actions/checkout@v4 - name: Setup Go run: | if ! command -v go &> /dev/null; then wget -q https://go.dev/dl/go1.24.3.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz - export PATH=/usr/local/go/bin:$PATH echo "PATH=/usr/local/go/bin:$PATH" >> $GITHUB_ENV fi go version - - name: Verify source - run: ls -la cmd/muyue/ internal/ - - name: Build run: | go build -o muyue ./cmd/muyue/ diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index ad29037..8a48c22 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -9,19 +9,15 @@ jobs: release: runs-on: ubuntu-latest steps: - - name: Checkout - run: | - git init - git remote add origin ${{ github.server_url }}/${{ github.repository }}.git - git fetch origin ${{ github.ref }} - git checkout FETCH_HEAD + - uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Setup Go run: | if ! command -v go &> /dev/null; then wget -q https://go.dev/dl/go1.24.3.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz - export PATH=/usr/local/go/bin:$PATH echo "PATH=/usr/local/go/bin:$PATH" >> $GITHUB_ENV fi go version @@ -33,43 +29,31 @@ jobs: SHORT_SHA=$(git rev-parse --short HEAD) echo "version=v${VERSION}" >> $GITHUB_OUTPUT echo "sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - echo "Building muyue v${VERSION} (${SHORT_SHA})" - name: Build all platforms run: | mkdir -p dist VERSION=${{ steps.info.outputs.version }} SHA=${{ steps.info.outputs.sha }} + LDFLAGS="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" echo "Building linux/amd64..." - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-linux-amd64 ./cmd/muyue/ + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="$LDFLAGS" -o dist/muyue-linux-amd64 ./cmd/muyue/ echo "Building linux/arm64..." - CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-linux-arm64 ./cmd/muyue/ + CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="$LDFLAGS" -o dist/muyue-linux-arm64 ./cmd/muyue/ echo "Building darwin/amd64..." - CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-darwin-amd64 ./cmd/muyue/ + CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags="$LDFLAGS" -o dist/muyue-darwin-amd64 ./cmd/muyue/ echo "Building darwin/arm64..." - CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-darwin-arm64 ./cmd/muyue/ + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags="$LDFLAGS" -o dist/muyue-darwin-arm64 ./cmd/muyue/ echo "Building windows/amd64..." - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-windows-amd64.exe ./cmd/muyue/ + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="$LDFLAGS" -o dist/muyue-windows-amd64.exe ./cmd/muyue/ echo "Building windows/arm64..." - CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build \ - -ldflags="-s -w -X github.com/muyue/muyue/internal/version.Version=${VERSION}-${SHA}" \ - -o dist/muyue-windows-arm64.exe ./cmd/muyue/ + CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -ldflags="$LDFLAGS" -o dist/muyue-windows-arm64.exe ./cmd/muyue/ echo "Build complete:" ls -lh dist/ @@ -89,23 +73,20 @@ jobs: tar czf muyue-darwin-arm64.tar.gz muyue-darwin-arm64 zip muyue-windows-amd64.zip muyue-windows-amd64.exe zip muyue-windows-arm64.zip muyue-windows-arm64.exe - rm -f muyue-linux-amd64 muyue-linux-arm64 muyue-darwin-amd64 muyue-darwin-arm64 muyue-windows-amd64.exe muyue-windows-arm64.exe - ls -lh + ls -lh *.tar.gz *.zip checksums.txt - - name: Delete old latest release + - name: Delete old release env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases" - RELEASE_ID=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" "${API}?draft=false&pre-release=false" | grep -o '"id":[0-9]*' | head -1 | grep -o '[0-9]*' || true) - if [ -n "$RELEASE_ID" ]; then - echo "Deleting old release ${RELEASE_ID}..." - curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" "${API}/${RELEASE_ID}" - fi - TAG_ID=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/tags" | grep -o '"name":"latest"' || true) - if [ -n "$TAG_ID" ]; then - curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/tags/latest" - fi + curl -s -H "Authorization: token ${GITEA_TOKEN}" "${API}" | grep -o '"id":[0-9]*' | while read line; do + ID=$(echo "$line" | grep -o '[0-9]*') + curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" "${API}/${ID}" + echo "Deleted release ${ID}" + done + curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" \ + "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/tags/latest" 2>/dev/null || true - name: Create release env: @@ -115,12 +96,8 @@ jobs: SHA=${{ steps.info.outputs.sha }} API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases" - COMMIT_LOG=$(git log --oneline -10 | head -10) + BODY="## muyue ${VERSION} (${SHA}) - BODY=$(cat < /dev/null done - echo "Release published!" + echo "Release published with 6 binaries!"