1
0
forked from um/cli

ci: produce zip for windows build

This commit is contained in:
鲁树人 2024-10-21 06:04:54 +09:00
parent b0998d8c8a
commit 57c1aa3e54
2 changed files with 28 additions and 16 deletions

View File

@ -17,21 +17,30 @@ local CreateRelease() = {
local StepGoBuild(GOOS, GOARCH) = { local StepGoBuild(GOOS, GOARCH) = {
local filepath = 'dist/um-%s-%s.tar.gz' % [GOOS, GOARCH], local windows = GOOS == 'windows',
local archiveExt = if windows then 'zip' else 'tar.gz',
local filepath = 'dist/um-%s-%s.%s' % [GOOS, GOARCH, archiveExt],
local archive = if windows then [
// Ensure zip is installed
'command -v zip >/dev/null || (apt update && apt install -y zip)',
'zip -9 -j -r "%s" $DIST_DIR' % filepath,
] else [
'tar -zc -C $DIST_DIR um | gzip -9 > "%s"' % filepath,
],
name: 'go build %s/%s' % [GOOS, GOARCH], name: 'go build %s/%s' % [GOOS, GOARCH],
image: 'golang:1.22', image: 'golang:1.22',
environment: { environment: {
GOOS: GOOS, GOOS: GOOS,
GOARCH: GOARCH, GOARCH: GOARCH,
GOPROXY: "https://goproxy.io,direct", GOPROXY: 'https://goproxy.io,direct',
}, },
commands: [ commands: [
'DIST_DIR=$(mktemp -d)', 'DIST_DIR=$(mktemp -d)',
'go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags --always)" -o $DIST_DIR ./cmd/um', 'go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags --always)" -o $DIST_DIR ./cmd/um',
'mkdir -p dist', 'mkdir -p dist',
'tar cz -f %s -C $DIST_DIR .' % filepath, ] + archive,
],
}; };
local StepUploadArtifact(GOOS, GOARCH) = { local StepUploadArtifact(GOOS, GOARCH) = {
@ -71,7 +80,7 @@ local PipelineBuild(GOOS, GOARCH, RUN_TEST) = {
name: 'go test', name: 'go test',
image: 'golang:1.22', image: 'golang:1.22',
environment: { environment: {
GOPROXY: "https://goproxy.io,direct", GOPROXY: 'https://goproxy.io,direct',
}, },
commands: ['go test -v ./...'], commands: ['go test -v ./...'],
}] else [] }] else []
@ -100,7 +109,7 @@ local PipelineRelease() = {
name: 'go test', name: 'go test',
image: 'golang:1.22', image: 'golang:1.22',
environment: { environment: {
GOPROXY: "https://goproxy.io,direct", GOPROXY: 'https://goproxy.io,direct',
}, },
commands: ['go test -v ./...'], commands: ['go test -v ./...'],
}, },

View File

@ -17,7 +17,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-linux-amd64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64.tar.gz"
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: linux GOOS: linux
@ -53,7 +53,8 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-windows-amd64.tar.gz -C $DIST_DIR . - command -v zip >/dev/null || (apt update && apt install -y zip)
- zip -9 -j -r "dist/um-windows-amd64.zip" $DIST_DIR
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: windows GOOS: windows
@ -89,7 +90,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-darwin-amd64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64.tar.gz"
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: darwin GOOS: darwin
@ -131,7 +132,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-linux-amd64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64.tar.gz"
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: linux GOOS: linux
@ -143,7 +144,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-linux-arm64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-arm64.tar.gz"
environment: environment:
GOARCH: arm64 GOARCH: arm64
GOOS: linux GOOS: linux
@ -155,7 +156,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-linux-386.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-386.tar.gz"
environment: environment:
GOARCH: "386" GOARCH: "386"
GOOS: linux GOOS: linux
@ -167,7 +168,8 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-windows-amd64.tar.gz -C $DIST_DIR . - command -v zip >/dev/null || (apt update && apt install -y zip)
- zip -9 -j -r "dist/um-windows-amd64.zip" $DIST_DIR
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: windows GOOS: windows
@ -179,7 +181,8 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-windows-386.tar.gz -C $DIST_DIR . - command -v zip >/dev/null || (apt update && apt install -y zip)
- zip -9 -j -r "dist/um-windows-386.zip" $DIST_DIR
environment: environment:
GOARCH: "386" GOARCH: "386"
GOOS: windows GOOS: windows
@ -191,7 +194,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-darwin-amd64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64.tar.gz"
environment: environment:
GOARCH: amd64 GOARCH: amd64
GOOS: darwin GOOS: darwin
@ -203,7 +206,7 @@ steps:
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags - go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
--always)" -o $DIST_DIR ./cmd/um --always)" -o $DIST_DIR ./cmd/um
- mkdir -p dist - mkdir -p dist
- tar cz -f dist/um-darwin-arm64.tar.gz -C $DIST_DIR . - tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-arm64.tar.gz"
environment: environment:
GOARCH: arm64 GOARCH: arm64
GOOS: darwin GOOS: darwin