-
Notifications
You must be signed in to change notification settings - Fork 17
130 lines (92 loc) · 2.56 KB
/
ci.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Tran CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
GITHUB_TOKEN: ${{ github.token }}
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
jobs:
bfs: # build from source
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Building From Source
run: |
go mod tidy -compat=1.18
go run ./scripts/date.go >> date.txt
go build -ldflags "-X main.version=$(git describe --abbrev=0 --tags) -X main.buildDate=$(cat date.txt)" -o tran
- name: Run Help
run: ./tran help
bfs_windows: # build from source (windows)
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Building From Source
run: |
.\scripts\bfs.ps1
echo "::add-path::C:\Users\runneradmin\AppData\Local\tran\bin\;"
- name: Run Help
run: tran help
from_script:
needs: [ bfs ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install from script
run: curl -sL https://cutt.ly/tran-cli | bash
- name: Run Help
run: tran help
from_script_windows:
needs: [ bfs_windows ]
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Install from script
run: |
iwr -useb https://cutt.ly/tran-win | iex
echo "::add-path::C:\Users\runneradmin\AppData\Local\tran\bin\;"
- name: Run Help
run: tran help
snapshot:
needs: [ bfs, bfs_windows ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Set up `GoReleaser`
uses: goreleaser/goreleaser-action@v2
with:
install-only: true
- name: Set up `Date`
run: go run ./scripts/date.go >> date.txt
- name: Build
run: BuildDate="$(cat date.txt)" goreleaser release --snapshot --rm-dist --timeout 100m
homebrew:
needs: [ bfs, snapshot ]
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Get Tran via homebrew
run: brew install abdfnx/tap/tran
- name: Run `tran help`
run: tran help
# via_docker:
# needs: [ bfs, from_script, go ]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Run in docker container
# run: docker run --rm -iv trancli/tran -h