-
Notifications
You must be signed in to change notification settings - Fork 1
130 lines (109 loc) · 3.46 KB
/
release.yml
File metadata and controls
130 lines (109 loc) · 3.46 KB
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: Release
on:
push:
tags:
- 'v*'
jobs:
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install SQLCipher
run: sudo apt-get install -y libsqlcipher-dev
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Build Linux amd64
run: |
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 \
go build -o dist/enveil-linux-amd64 ./cli/cmd/enveil/
- name: Build Linux arm64
run: |
sudo apt-get install -y gcc-aarch64-linux-gnu
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 \
CC=aarch64-linux-gnu-gcc \
go build -o dist/enveil-linux-arm64 ./cli/cmd/enveil/
- name: Build Linux amd64 server
run: |
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 \
go build -o dist/enveil-server-linux-amd64 ./server/cmd/enveil-server/
- name: Build Linux arm64 server
run: |
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 \
CC=aarch64-linux-gnu-gcc \
go build -o dist/enveil-server-linux-arm64 ./server/cmd/enveil-server/
- name: Upload Linux artifacts
uses: actions/upload-artifact@v4
with:
name: linux-binaries
path: dist/
build-macos:
name: Build macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install SQLCipher
run: brew install sqlcipher
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Build macOS amd64
run: |
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 \
go build -o dist/enveil-darwin-amd64 ./cli/cmd/enveil/
- name: Build macOS arm64
run: |
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 \
go build -o dist/enveil-darwin-arm64 ./cli/cmd/enveil/
- name: Build macOS amd64 server
run: |
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 \
go build -o dist/enveil-server-darwin-amd64 ./server/cmd/enveil-server/
- name: Build macOS arm64 server
run: |
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 \
go build -o dist/enveil-server-darwin-arm64 ./server/cmd/enveil-server/
- name: Upload macOS artifacts
uses: actions/upload-artifact@v4
with:
name: macos-binaries
path: dist/
release:
name: Create Release
needs: [build-linux, build-macos]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download Linux binaries
uses: actions/download-artifact@v4
with:
name: linux-binaries
path: dist/
- name: Download macOS binaries
uses: actions/download-artifact@v4
with:
name: macos-binaries
path: dist/
- name: Create checksums
run: |
cd dist
sha256sum * > checksums.txt
cat checksums.txt
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: |
dist/enveil-linux-amd64
dist/enveil-linux-arm64
dist/enveil-darwin-amd64
dist/enveil-darwin-arm64
dist/enveil-server-linux-amd64
dist/enveil-server-linux-arm64
dist/enveil-server-darwin-amd64
dist/enveil-server-darwin-arm64
dist/checksums.txt
generate_release_notes: true