Added release workflow.
This commit is contained in:
		
							
								
								
									
										52
									
								
								.gitea/workflow/release.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								.gitea/workflow/release.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
name: Release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - 'v*.*.*'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  release:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      # 1. Checkout source code
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      # 2. Setup Go environment
 | 
			
		||||
      - name: Setup Go
 | 
			
		||||
        uses: actions/setup-go@v5
 | 
			
		||||
        with:
 | 
			
		||||
          go-version: '1.24.5'
 | 
			
		||||
 | 
			
		||||
      # 3. Build binary with Version injected
 | 
			
		||||
      - name: Build binary
 | 
			
		||||
        run: |
 | 
			
		||||
          VERSION=${GITEA_REF_NAME}
 | 
			
		||||
          echo "Building version $VERSION"
 | 
			
		||||
          go build -ldflags "-s -w -X main.Version=$VERSION" -o myapp ./cmd/app
 | 
			
		||||
 | 
			
		||||
      # 4. Install the tea CLI
 | 
			
		||||
      - name: Install tea CLI
 | 
			
		||||
        run: go install gitea.com/gitea/tea@latest
 | 
			
		||||
 | 
			
		||||
      # 5. Authenticate tea CLI
 | 
			
		||||
      - name: Login to Gitea
 | 
			
		||||
        run: |
 | 
			
		||||
          tea login add --name ci --url $GITEA_URL --token $GITEA_TOKEN
 | 
			
		||||
        env:
 | 
			
		||||
          GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
 | 
			
		||||
          GITEA_URL: ${{ secrets.GITEA_URL }}
 | 
			
		||||
 | 
			
		||||
      # 6. Create or update release
 | 
			
		||||
      - name: Create or update release
 | 
			
		||||
        run: |
 | 
			
		||||
          tea release create $GITEA_REF_NAME \
 | 
			
		||||
            --title "$GITEA_REF_NAME" \
 | 
			
		||||
            --note "Automated release for $GITEA_REF_NAME" || \
 | 
			
		||||
          echo "Release already exists, skipping create."
 | 
			
		||||
 | 
			
		||||
      # 7. Upload binary to the release
 | 
			
		||||
      - name: Upload binary
 | 
			
		||||
        run: tea release upload $GITEA_REF_NAME ./myapp
 | 
			
		||||
		Reference in New Issue
	
	Block a user