|
1 | | -cd .. |
| 1 | +#!/bin/sh |
2 | 2 |
|
3 | | -mkdir -p binaries |
4 | | -mkdir -p micro-$1 |
5 | | - |
6 | | -cp LICENSE micro-$1 |
7 | | -cp README.md micro-$1 |
8 | | -cp LICENSE-THIRD-PARTY micro-$1 |
9 | | -cp assets/packaging/micro.1 micro-$1 |
10 | | -cp assets/packaging/micro.desktop micro-$1 |
11 | | -cp assets/micro-logo-mark.svg micro-$1/micro.svg |
| 3 | +set -e |
12 | 4 |
|
13 | 5 | HASH="$(git rev-parse --short HEAD)" |
14 | 6 | VERSION="$(go run tools/build-version.go)" |
15 | 7 | DATE="$(go run tools/build-date.go)" |
16 | 8 | ADDITIONAL_GO_LINKER_FLAGS="$(go run tools/info-plist.go $VERSION)" |
17 | 9 |
|
| 10 | +mkdir -p binaries |
| 11 | +mkdir -p micro-$VERSION |
| 12 | + |
| 13 | +cp LICENSE micro-$VERSION |
| 14 | +cp README.md micro-$VERSION |
| 15 | +cp LICENSE-THIRD-PARTY micro-$VERSION |
| 16 | +cp assets/packaging/micro.1 micro-$VERSION |
| 17 | +cp assets/packaging/micro.desktop micro-$VERSION |
| 18 | +cp assets/micro-logo-mark.svg micro-$VERSION/micro.svg |
| 19 | + |
| 20 | +create_artefact_generic() |
| 21 | +{ |
| 22 | + mv micro micro-$VERSION/ |
| 23 | + tar -czf micro-$VERSION-$1.tgz micro-$VERSION |
| 24 | + sha256sum micro-$VERSION-$1.tgz > micro-$VERSION-$1.tgz.sha |
| 25 | + mv micro-$VERSION-$1.* binaries |
| 26 | + rm micro-$VERSION/micro |
| 27 | +} |
| 28 | + |
| 29 | +create_artefact_windows() |
| 30 | +{ |
| 31 | + mv micro.exe micro-$VERSION/ |
| 32 | + zip -r -q -T micro-$VERSION-$1.zip micro-$VERSION |
| 33 | + sha256sum micro-$VERSION-$1.zip > micro-$VERSION-$1.zip.sha |
| 34 | + mv micro-$VERSION-$1.* binaries |
| 35 | + rm micro-$VERSION/micro.exe |
| 36 | +} |
| 37 | + |
18 | 38 | # Mac |
19 | 39 | echo "OSX 64" |
20 | 40 | GOOS=darwin GOARCH=amd64 make build |
21 | | -mv micro micro-$1 |
22 | | -tar -czf micro-$1-osx.tar.gz micro-$1 |
23 | | -mv micro-$1-osx.tar.gz binaries |
| 41 | +create_artefact_generic "osx" |
24 | 42 |
|
25 | 43 | # Mac ARM64 |
26 | 44 | echo "MacOS ARM64" |
27 | 45 | GOOS=darwin GOARCH=arm64 make build |
28 | | -mv micro micro-$1 |
29 | | -tar -czf micro-$1-macos-arm64.tar.gz micro-$1 |
30 | | -mv micro-$1-macos-arm64.tar.gz binaries |
| 46 | +create_artefact_generic "macos-arm64" |
31 | 47 |
|
32 | 48 | # Linux |
33 | 49 | echo "Linux 64" |
34 | 50 | GOOS=linux GOARCH=amd64 make build |
35 | | -./tools/package-deb.sh $1 |
36 | | -mv micro-$1-amd64.deb binaries |
37 | | - |
38 | | -mv micro micro-$1 |
39 | | -tar -czf micro-$1-linux64.tar.gz micro-$1 |
40 | | -mv micro-$1-linux64.tar.gz binaries |
| 51 | +if ./tools/package-deb.sh $VERSION; then |
| 52 | + sha256sum micro-$VERSION-amd64.deb > micro-$VERSION-amd64.deb.sha |
| 53 | + mv micro-$VERSION-amd64.* binaries |
| 54 | +fi |
| 55 | +create_artefact_generic "linux64" |
41 | 56 |
|
42 | 57 | echo "Linux 64 fully static" |
43 | 58 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build |
44 | | -mv micro micro-$1 |
45 | | -tar -czf micro-$1-linux64-static.tar.gz micro-$1 |
46 | | -mv micro-$1-linux64-static.tar.gz binaries |
| 59 | +create_artefact_generic "linux64-static" |
47 | 60 |
|
48 | 61 | echo "Linux 32" |
49 | 62 | GOOS=linux GOARCH=386 make build |
50 | | -mv micro micro-$1 |
51 | | -tar -czf micro-$1-linux32.tar.gz micro-$1 |
52 | | -mv micro-$1-linux32.tar.gz binaries |
| 63 | +create_artefact_generic "linux32" |
53 | 64 |
|
54 | 65 | echo "Linux ARM 32" |
55 | 66 | GOOS=linux GOARM=6 GOARCH=arm make build |
56 | | -mv micro micro-$1 |
57 | | -tar -czf micro-$1-linux-arm.tar.gz micro-$1 |
58 | | -mv micro-$1-linux-arm.tar.gz binaries |
| 67 | +create_artefact_generic "linux-arm" |
59 | 68 |
|
60 | 69 | echo "Linux ARM 64" |
61 | 70 | GOOS=linux GOARCH=arm64 make build |
62 | | -mv micro micro-$1 |
63 | | -tar -czf micro-$1-linux-arm64.tar.gz micro-$1 |
64 | | -mv micro-$1-linux-arm64.tar.gz binaries |
| 71 | +create_artefact_generic "linux-arm64" |
65 | 72 |
|
66 | 73 | # NetBSD |
67 | 74 | echo "NetBSD 64" |
68 | 75 | GOOS=netbsd GOARCH=amd64 make build |
69 | | -mv micro micro-$1 |
70 | | -tar -czf micro-$1-netbsd64.tar.gz micro-$1 |
71 | | -mv micro-$1-netbsd64.tar.gz binaries |
| 76 | +create_artefact_generic "netbsd64" |
72 | 77 |
|
73 | 78 | echo "NetBSD 32" |
74 | 79 | GOOS=netbsd GOARCH=386 make build |
75 | | -mv micro micro-$1 |
76 | | -tar -czf micro-$1-netbsd32.tar.gz micro-$1 |
77 | | -mv micro-$1-netbsd32.tar.gz binaries |
| 80 | +create_artefact_generic "netbsd32" |
78 | 81 |
|
79 | 82 | # OpenBSD |
80 | 83 | echo "OpenBSD 64" |
81 | 84 | GOOS=openbsd GOARCH=amd64 make build |
82 | | -mv micro micro-$1 |
83 | | -tar -czf micro-$1-openbsd64.tar.gz micro-$1 |
84 | | -mv micro-$1-openbsd64.tar.gz binaries |
| 85 | +create_artefact_generic "openbsd64" |
85 | 86 |
|
86 | 87 | echo "OpenBSD 32" |
87 | 88 | GOOS=openbsd GOARCH=386 make build |
88 | | -mv micro micro-$1 |
89 | | -tar -czf micro-$1-openbsd32.tar.gz micro-$1 |
90 | | -mv micro-$1-openbsd32.tar.gz binaries |
| 89 | +create_artefact_generic "openbsd32" |
91 | 90 |
|
92 | 91 | # FreeBSD |
93 | 92 | echo "FreeBSD 64" |
94 | 93 | GOOS=freebsd GOARCH=amd64 make build |
95 | | -mv micro micro-$1 |
96 | | -tar -czf micro-$1-freebsd64.tar.gz micro-$1 |
97 | | -mv micro-$1-freebsd64.tar.gz binaries |
| 94 | +create_artefact_generic "freebsd64" |
98 | 95 |
|
99 | 96 | echo "FreeBSD 32" |
100 | 97 | GOOS=freebsd GOARCH=386 make build |
101 | | -mv micro micro-$1 |
102 | | -tar -czf micro-$1-freebsd32.tar.gz micro-$1 |
103 | | -mv micro-$1-freebsd32.tar.gz binaries |
104 | | - |
105 | | -rm micro-$1/micro |
| 98 | +create_artefact_generic "freebsd32" |
106 | 99 |
|
107 | 100 | # Windows |
108 | 101 | echo "Windows 64" |
109 | 102 | GOOS=windows GOARCH=amd64 make build |
110 | | -mv micro.exe micro-$1 |
111 | | -zip -r -q -T micro-$1-win64.zip micro-$1 |
112 | | -mv micro-$1-win64.zip binaries |
| 103 | +create_artefact_windows "win64" |
113 | 104 |
|
114 | 105 | echo "Windows 32" |
115 | 106 | GOOS=windows GOARCH=386 make build |
116 | | -mv micro.exe micro-$1 |
117 | | -zip -r -q -T micro-$1-win32.zip micro-$1 |
118 | | -mv micro-$1-win32.zip binaries |
| 107 | +create_artefact_windows "win32" |
119 | 108 |
|
120 | | -rm -rf micro-$1 |
| 109 | +rm -rf micro-$VERSION |
0 commit comments