chore: add github workflow to build nfctl
This commit is contained in:
parent
b267cc7a2e
commit
d72d2a8302
60
.github/workflows/nfctl.yml
vendored
Normal file
60
.github/workflows/nfctl.yml
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
name: Auto Build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
env:
|
||||||
|
RELEASE_VERSION: v24.07.13-r1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-job:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
repository-projects: write
|
||||||
|
steps:
|
||||||
|
- name: checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: install golang
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '1.20'
|
||||||
|
|
||||||
|
- name: build linux amd64
|
||||||
|
run: CGO_ENABLE=0 GOOS=linux GOARCH=amd64 go build -ldflags='-s -w' -o dist/nfctl-linux_amd64-$RELEASE_VERSION nft/nfctl/main.go
|
||||||
|
|
||||||
|
- name: build linux arm64
|
||||||
|
run: CGO_ENABLE=0 GOOS=linux GOARCH=arm64 go build -ldflags='-s -w' -o dist/nfctl-linux_arm64-$RELEASE_VERSION nft/nfctl/main.go
|
||||||
|
|
||||||
|
- name: build windows amd64
|
||||||
|
run: CGO_ENABLE=0 GOOS=windows GOARCH=amd64 go build -ldflags='-s -w' -o dist/nfctl-win_amd64-$RELEASE_VERSION.exe nft/nfctl/main.go
|
||||||
|
|
||||||
|
- name: build windows arm64
|
||||||
|
run: CGO_ENABLE=0 GOOS=windows GOARCH=arm64 go build -ldflags='-s -w' -o dist/nfctl-win_arm64-$RELEASE_VERSION.exe nft/nfctl/main.go
|
||||||
|
|
||||||
|
- name: build darwin amd64
|
||||||
|
run: CGO_ENABLE=0 GOOS=darwin GOARCH=amd64 go build -ldflags='-s -w' -o dist/nfctl-darwin_arm64-$RELEASE_VERSION nft/nfctl/main.go
|
||||||
|
|
||||||
|
- name: build darwin arm64
|
||||||
|
run: CGO_ENABLE=0 GOOS=darwin GOARCH=arm64 go build -ldflags='-s -w' -o dist/nfctl-darwin_arm64-$RELEASE_VERSION nft/nfctl/main.go
|
||||||
|
|
||||||
|
|
||||||
|
- name: create releases
|
||||||
|
id: create_releases
|
||||||
|
uses: "marvinpinto/action-automatic-releases@latest"
|
||||||
|
with:
|
||||||
|
automatic_release_tag: "Release-nfctl-$RELEASE_VERSION"
|
||||||
|
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
title: "Release_$RELEASE_VERSION"
|
||||||
|
prerelease: false
|
||||||
|
files: |
|
||||||
|
dist/nfctl-linux_amd64-$RELEASE_VERSION
|
||||||
|
dist/nfctl-linux_arm64-$RELEASE_VERSION
|
||||||
|
dist/nfctl-win_amd64-$RELEASE_VERSION.exe
|
||||||
|
dist/nfctl-win_arm64-$RELEASE_VERSION.exe
|
||||||
|
dist/nfctl-darwin_arm64-$RELEASE_VERSION
|
||||||
|
dist/nfctl-darwin_arm64-$RELEASE_VERSION
|
@ -18,6 +18,9 @@ func main() {
|
|||||||
|
|
||||||
_ = cmd.Root.ExecuteContext(ctx)
|
_ = cmd.Root.ExecuteContext(ctx)
|
||||||
|
|
||||||
// 延迟以便 check 检查
|
select {
|
||||||
time.Sleep(1500 * time.Millisecond)
|
case <-time.After(3 * time.Second):
|
||||||
|
case <-ctx.Done():
|
||||||
|
case <-version.OkCh:
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
const Version = "v24.07.12-r2"
|
const Version = "v24.07.13-r1"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
lk = &sync.Mutex{}
|
lk = &sync.Mutex{}
|
||||||
@ -26,6 +26,7 @@ var (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Fn = empty
|
Fn = empty
|
||||||
|
OkCh = make(chan struct{}, 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
func Check() {
|
func Check() {
|
||||||
@ -57,6 +58,7 @@ func Check() {
|
|||||||
lk.Lock()
|
lk.Lock()
|
||||||
Fn = upgrade(v)
|
Fn = upgrade(v)
|
||||||
lk.Unlock()
|
lk.Unlock()
|
||||||
|
OkCh <- struct{}{}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user