-
Notifications
You must be signed in to change notification settings - Fork 6
73 lines (64 loc) · 2.37 KB
/
generate-cli.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
on:
workflow_dispatch:
inputs:
version:
description: 'hfsubset version'
required: true
type: string
name: Build and Upload hfsubset Executables
jobs:
generate:
name: Generate cross-platform builds
runs-on: ubuntu-latest
permissions:
contents: write
env:
GO_LDFLAGS: "-s -w"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
LICENSE.md
README.md
cli
- name: Setup Golang
uses: actions/setup-go@v4
with:
go-version-file: 'cli/go.mod'
- name: Package MacOS executable (x86_64)
working-directory: ./cli
run: |
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="${GO_LDFLAGS}" -o hfsubset
tar -czvf hfsubset-${{ inputs.version }}-macos_amd64.tar.gz hfsubset ../LICENSE.md ../README.md
rm hfsubset
- name: Package MacOS executable (ARM)
working-directory: ./cli
run: |
GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="${GO_LDFLAGS}" -o hfsubset
tar -czvf hfsubset-${{ inputs.version }}-macos_arm64.tar.gz hfsubset ../LICENSE.md ../README.md
rm hfsubset
- name: Package Linux executable (x86_64)
working-directory: ./cli
run: |
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="${GO_LDFLAGS}" -o hfsubset
tar -czvf hfsubset-${{ inputs.version }}-linux_amd64.tar.gz hfsubset ../LICENSE.md ../README.md
rm hfsubset
- name: Package Linux executable (ARM)
working-directory: ./cli
run: |
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="${GO_LDFLAGS}" -o hfsubset
tar -czvf hfsubset-${{ inputs.version }}-linux_arm64.tar.gz hfsubset ../LICENSE.md ../README.md
rm hfsubset
- name: Package Windows executable
working-directory: ./cli
run: |
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="${GO_LDFLAGS}" -o hfsubset.exe
zip hfsubset-${{ inputs.version }}-windows_amd64.zip hfsubset.exe ../LICENSE.md ../README.md
rm hfsubset.exe
- name: Upload packages
uses: ncipollo/release-action@v1
with:
tag: ${{ inputs.version }}
commit: ${{ github.sha }}
artifacts: "cli/hfsubset-*"