-
Notifications
You must be signed in to change notification settings - Fork 15
57 lines (51 loc) · 1.47 KB
/
main.yml
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
name: Build `tfx` - Cross Compile
on:
push:
branches:
- main
pull_request:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
# - name: Lint
# uses: golangci/golangci-lint-action@v2
# with:
# version: v1.32.2
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.21.0
- name: Install gox
run: |
go get github.com/mitchellh/gox
go install github.com/mitchellh/gox
- name: Install zip
run: |
sudo apt-get update -q
sudo apt-get install zip -q
- name: Cross compile
run: |
gox \
-os="linux darwin windows" \
-ldflags="-X 'github.com/straubt1/tfx/version.Build=${{ github.sha }}' -X 'github.com/straubt1/tfx/version.Date=$(date)' -X 'github.com/straubt1/tfx/version.BuiltBy=github'" \
-arch="amd64 arm64" \
-output "./pkg/{{.OS}}_{{.Arch}}/tfx" \
.
- name: Print version
run: ./pkg/linux_amd64/tfx --version
# Package all binaries together
- uses: actions/upload-artifact@v2
with:
name: tfx-artifacts
path: ./pkg/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}