Skip to content

Commit

Permalink
use goreleaser
Browse files Browse the repository at this point in the history
(cherry picked from commit 2b3842e)
  • Loading branch information
wdvxdr1123 committed Apr 30, 2021
1 parent 8974adb commit f6280ba
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 31 deletions.
52 changes: 22 additions & 30 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,28 @@
name: release

on:
release:
types: [created]
push:
tags:
- 'v*'

jobs:
releases-matrix:
name: Release Go Binary
goreleaser:
runs-on: ubuntu-latest
strategy:
matrix:
# build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/386, darwin/amd64, darwin/arm64
goos: [linux, windows, darwin]
goarch: ["386", amd64, arm, arm64]
exclude:
- goos: darwin
goarch: arm
- goos: darwin
goarch: "386"
- goos: windows
goarch: arm64

steps:
- uses: actions/checkout@v2
- name: Set RELEASE_VERSION env
run: echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV
- uses: pcrbot/go-release-action@master
env:
CGO_ENABLED: 0
- name: Checkout
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
goversion: "https://golang.org/dl/go1.16.linux-amd64.tar.gz"
build_flags: -trimpath
ldflags: -w -s -X "github.com/Mrs4s/go-cqhttp/coolq.Version=${{ env.RELEASE_VERSION }}"

go-version: '1.16.2'

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58 changes: 58 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
env:
- GO111MODULE=on
before:
hooks:
- go mod tidy
builds:
- env:
- CGO_ENABLED=0
- GO111MODULE=on
goos:
- linux
- darwin
- windows
goarch:
- 386
- amd64
- arm
- arm64
ignore:
- goos: darwin
goarch: arm
- goos: darwin
goarch: 386
- goos: windows
goarch: arm64
mod_timestamp: '{{ .CommitTimestamp }}'
flags:
- -trimpath
ldflags:
- -s -w -X github.com/Mrs4s/go-cqhttp/coolq.Version=v{{.Version}}

checksum:
name_template: '{{ .ProjectName }}_checksums.txt'
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
- fix typo
- Merge pull request
- Merge branch
- Merge remote-tracking
- go mod tidy

archives:
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
format_overrides:
- goos: windows
format: zip

nfpms:
- license: AGPL 3.0
homepage: https://go-cqhttp.org
file_name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}"
formats:
- deb
- rpm
11 changes: 11 additions & 0 deletions coolq/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"path"
"path/filepath"
"runtime"
"runtime/debug"
"strconv"
"strings"
"time"
Expand All @@ -28,6 +29,16 @@ import (
// Version go-cqhttp的版本信息,在编译时使用ldflags进行覆盖
var Version = "unknown"

func init() {
if Version != "unknown" {
return
}
info, ok := debug.ReadBuildInfo()
if ok {
Version = info.Main.Version
}
}

// CQGetLoginInfo 获取登录号信息
//
// https://git.io/Jtz1I
Expand Down
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ func OldPasswordDecrypt(encryptedPassword string, key []byte) string {

func checkUpdate() {
log.Infof("正在检查更新.")
if coolq.Version == "unknown" {
if coolq.Version == "(devel)" {
log.Warnf("检查更新失败: 使用的 Actions 测试版或自编译版本.")
return
}
Expand Down

0 comments on commit f6280ba

Please sign in to comment.