Skip to content

Commit fc3a5cd

Browse files
committed
tools: Improve cross-compile.sh
1. doesn't need a given parameter to set the VERSION, since it is determined itself 2. moves the *.deb only in case package-deb.sh succeeded 3. rename *.tar.gz to *.tgz shorten the extension to... 4. add SHA256 sums per artifact
1 parent c965447 commit fc3a5cd

File tree

1 file changed

+50
-61
lines changed

1 file changed

+50
-61
lines changed

tools/cross-compile.sh

Lines changed: 50 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,109 @@
1-
cd ..
1+
#!/bin/sh
22

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
124

135
HASH="$(git rev-parse --short HEAD)"
146
VERSION="$(go run tools/build-version.go)"
157
DATE="$(go run tools/build-date.go)"
168
ADDITIONAL_GO_LINKER_FLAGS="$(go run tools/info-plist.go $VERSION)"
179

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+
1838
# Mac
1939
echo "OSX 64"
2040
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"
2442

2543
# Mac ARM64
2644
echo "MacOS ARM64"
2745
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"
3147

3248
# Linux
3349
echo "Linux 64"
3450
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"
4156

4257
echo "Linux 64 fully static"
4358
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"
4760

4861
echo "Linux 32"
4962
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"
5364

5465
echo "Linux ARM 32"
5566
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"
5968

6069
echo "Linux ARM 64"
6170
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"
6572

6673
# NetBSD
6774
echo "NetBSD 64"
6875
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"
7277

7378
echo "NetBSD 32"
7479
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"
7881

7982
# OpenBSD
8083
echo "OpenBSD 64"
8184
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"
8586

8687
echo "OpenBSD 32"
8788
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"
9190

9291
# FreeBSD
9392
echo "FreeBSD 64"
9493
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"
9895

9996
echo "FreeBSD 32"
10097
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"
10699

107100
# Windows
108101
echo "Windows 64"
109102
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"
113104

114105
echo "Windows 32"
115106
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"
119108

120-
rm -rf micro-$1
109+
rm -rf micro-$VERSION

0 commit comments

Comments
 (0)