mirror of
				https://gitea.com/gitea/gitea-mcp.git
				synced 2025-11-04 04:11:50 +00:00 
			
		
		
		
	ci: integrate GoReleaser for streamlined release management
- Rename job from `release` to `goreleaser` in `release-tag.yml` - Change the tag pattern from `' * '` to `" * "` in `release-tag.yml` - Update job steps to better describe their actions in `release-tag.yml` - Replace build steps with GoReleaser action steps in `release-tag.yml` - Add configuration file `.goreleaser.yaml` for GoReleaser - Include hooks, builds, archives, changelog sorting, and release footer in `.goreleaser.yaml` Signed-off-by: appleboy <appleboy.tw@gmail.com>
This commit is contained in:
		@@ -1,41 +1,32 @@
 | 
			
		||||
name: release
 | 
			
		||||
 | 
			
		||||
on: 
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - '*'
 | 
			
		||||
      - "*"
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  release:
 | 
			
		||||
  goreleaser:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 0
 | 
			
		||||
      - name: setup go
 | 
			
		||||
      - name: Set up Go
 | 
			
		||||
        uses: actions/setup-go@v5
 | 
			
		||||
        with:
 | 
			
		||||
          go-version-file: 'go.mod'
 | 
			
		||||
      - name: release-build
 | 
			
		||||
        run: go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-linux-amd64
 | 
			
		||||
      - name: release-build-windows
 | 
			
		||||
        run: GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-windows-amd64.exe
 | 
			
		||||
      - name: release-build-darwin
 | 
			
		||||
        run: GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-darwin-amd64
 | 
			
		||||
      - name: release-build-arm64
 | 
			
		||||
        run: GOARCH=arm64 go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-linux-arm64
 | 
			
		||||
      - name: release-build-windows-arm64
 | 
			
		||||
        run: GOOS=windows GOARCH=arm64 go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-windows-arm64.exe
 | 
			
		||||
      - name: release-build-darwin-arm64
 | 
			
		||||
        run: GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w -X 'main.Version=${{  gitea.ref_name }}'" -o bin/mcp-gitea-${{  gitea.ref_name }}-darwin-arm64
 | 
			
		||||
 | 
			
		||||
      - name: Use Go Action  
 | 
			
		||||
        id: use-go-action
 | 
			
		||||
        uses: https://gitea.com/actions/gitea-release-action@main
 | 
			
		||||
          go-version: stable
 | 
			
		||||
      - name: Run GoReleaser
 | 
			
		||||
        uses: goreleaser/goreleaser-action@v6
 | 
			
		||||
        with:
 | 
			
		||||
          files: |-
 | 
			
		||||
            bin/**
 | 
			
		||||
          token: '${{secrets.RELEASE_TOKEN}}'
 | 
			
		||||
          distribution: goreleaser
 | 
			
		||||
          # 'latest', 'nightly', or a semver
 | 
			
		||||
          version: "~> v2"
 | 
			
		||||
          args: release --clean
 | 
			
		||||
        env:
 | 
			
		||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
 | 
			
		||||
  release-image:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    env:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								.goreleaser.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								.goreleaser.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
 | 
			
		||||
 | 
			
		||||
version: 2
 | 
			
		||||
 | 
			
		||||
before:
 | 
			
		||||
  hooks:
 | 
			
		||||
    - go mod tidy
 | 
			
		||||
 | 
			
		||||
builds:
 | 
			
		||||
  - env:
 | 
			
		||||
      - CGO_ENABLED=0
 | 
			
		||||
    main: .
 | 
			
		||||
    goos:
 | 
			
		||||
      - linux
 | 
			
		||||
      - windows
 | 
			
		||||
      - darwin
 | 
			
		||||
 | 
			
		||||
archives:
 | 
			
		||||
  - formats: tar.gz
 | 
			
		||||
    # this name template makes the OS and Arch compatible with the results of `uname`.
 | 
			
		||||
    name_template: >-
 | 
			
		||||
      {{ .ProjectName }}_
 | 
			
		||||
      {{- title .Os }}_
 | 
			
		||||
      {{- if eq .Arch "amd64" }}x86_64
 | 
			
		||||
      {{- else if eq .Arch "386" }}i386
 | 
			
		||||
      {{- else }}{{ .Arch }}{{ end }}
 | 
			
		||||
      {{- if .Arm }}v{{ .Arm }}{{ end }}
 | 
			
		||||
    # use zip for windows archives
 | 
			
		||||
    format_overrides:
 | 
			
		||||
      - goos: windows
 | 
			
		||||
        formats: zip
 | 
			
		||||
 | 
			
		||||
changelog:
 | 
			
		||||
  sort: asc
 | 
			
		||||
  groups:
 | 
			
		||||
    - title: Features
 | 
			
		||||
      regexp: "^.*feat[(\\w)]*:+.*$"
 | 
			
		||||
      order: 0
 | 
			
		||||
    - title: "Bug fixes"
 | 
			
		||||
      regexp: "^.*fix[(\\w)]*:+.*$"
 | 
			
		||||
      order: 1
 | 
			
		||||
    - title: "Enhancements"
 | 
			
		||||
      regexp: "^.*chore[(\\w)]*:+.*$"
 | 
			
		||||
      order: 2
 | 
			
		||||
    - title: "Refactor"
 | 
			
		||||
      regexp: "^.*refactor[(\\w)]*:+.*$"
 | 
			
		||||
      order: 3
 | 
			
		||||
    - title: "Build process updates"
 | 
			
		||||
      regexp: ^.*?(build|ci)(\(.+\))??!?:.+$
 | 
			
		||||
      order: 4
 | 
			
		||||
    - title: "Documentation updates"
 | 
			
		||||
      regexp: ^.*?docs?(\(.+\))??!?:.+$
 | 
			
		||||
      order: 4
 | 
			
		||||
    - title: Others
 | 
			
		||||
      order: 999
 | 
			
		||||
  filters:
 | 
			
		||||
    exclude:
 | 
			
		||||
      - "^docs:"
 | 
			
		||||
      - "^test:"
 | 
			
		||||
 | 
			
		||||
release:
 | 
			
		||||
  footer: >-
 | 
			
		||||
 | 
			
		||||
    ---
 | 
			
		||||
 | 
			
		||||
    Released by [GoReleaser](https://github.com/goreleaser/goreleaser).
 | 
			
		||||
		Reference in New Issue
	
	Block a user