Skip to content

Go

Go #4

Workflow file for this run

name: Go
on:
release:
types: [published]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.20
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Get dependencies
run: |
curl -OL https://github.com/ystyle/kaf-cli/releases/download/kindlegen/KindleGen_Mac_64bit_v2_9.zip
curl -OL https://github.com/ystyle/kaf-cli/releases/download/kindlegen/kindlegen_win32_v2_9.zip
unzip -d darwin KindleGen_Mac_64bit_v2_9.zip
unzip -d windows kindlegen_win32_v2_9.zip
- name: Build
run: |
hash=`git rev-list --tags --max-count=1`
version=`git describe --tags $hash`
flag="-s -w -X main.secret=${{ secrets.API_SECRET }} -X main.measurement=${{ secrets.MEASUREMENT }} -X main.version=$version"
GOOS=linux GOARCH=amd64 go build -ldflags "$flag" -o build/linux-amd64/kas main.go
GOOS=linux GOARCH=arm64 go build -ldflags "$flag" -o build/linux-arm64/kas main.go
GOOS=linux GOARCH=loong64 go build -ldflags "$flag" -o build/linux-loong64/kas main.go
GOOS=darwin GOARCH=amd64 go build -ldflags "$flag" -o build/darwin-amd64/kas main.go
GOOS=darwin GOARCH=arm64 go build -ldflags "$flag" -o build/darwin-arm64/kas main.go
GOOS=windows GOARCH=386 go build -ldflags "$flag" -o build/windows-386/kas.exe main.go
GOOS=windows GOARCH=amd64 go build -ldflags "$flag" -o build/windows-amd64/kas.exe main.go
- name: compression zip
run: |
hash=`git rev-list --tags --max-count=1`
version=`git describe --tags $hash`
zip -j kas_${version}_windows_amd64.zip build/windows-amd64/kas.exe windows/kindlegen.exe 注册右键菜单.ps1
zip -j kas_${version}_windows_386.zip build/windows-386/kas.exe windows/kindlegen.exe
zip -j kas_${version}_darwin_amd64.zip build/darwin-amd64/kas darwin/kindlegen
zip -j kas_${version}_darwin_arm64.zip build/darwin-arm64/kas darwin/kindlegen
zip -j kas_${version}_linux_amd64.zip build/linux-amd64/kas
zip -j kas_${version}_linux_arm64.zip build/linux-arm64/kas
zip -j kas_${version}_linux_loong64.zip build/linux-loong64/kas
- name: Upload release binaries
uses: alexellis/upload-assets@0.2.2
env:
GITHUB_TOKEN: ${{ github.token }}
with:
asset_paths: '["./kas_*.zip"]'