/v1/add sunshine 🐳
[pin4sha_cgi.git] / pinboard.sh
blob1ed6e6b59c2c046460c31c77ae0d9dbce7ad37dd
1 #!/bin/sh
2 # https://golang.org/doc/install/source#environment
5 cd "$(dirname "${0}")" || exit 1
6 # $ uname -s -m
7 # Darwin x86_64
8 # Linux x86_64
9 # Linux armv6l
11 say="say"
12 parm="" # "-u"
14 "${say}" "go get"
15 go get ${parm} \
16 golang.org/x/net/html \
18 github.com/stretchr/testify \
19 github.com/yhat/scrape
22 PROG_NAME="pinboard"
23 VERSION="$(grep -F 'version = ' version.go | cut -d \" -f 2)"
25 rm "${PROG_NAME}"-*-"${VERSION}" 2>/dev/null
27 "${say}" "test"
28 umask 0022
29 go fmt && go vet && go test --short || { exit $?; }
30 "${say}" "ok"
32 "${say}" "build localhost"
33 go build -ldflags "-s -w -X main.GitSHA1=$(git rev-parse --short HEAD)" -o ~/public_html/b/pinboard.cgi || { echo "Aua" 1>&2 && exit 1; }
34 "${say}" "ok"
35 # open "http://localhost/~$(whoami)/b/pinboard.cgi"
37 "${say}" bench
38 go test -bench=.
39 "${say}" ok
41 "${say}" "linux build"
42 # http://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5
43 env GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.GitSHA1=$(git rev-parse --short HEAD)" -o "${PROG_NAME}-linux-amd64-${VERSION}" || { echo "Aua" 1>&2 && exit 1; }
44 # env GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w -X main.GitSHA1=$(git rev-parse --short HEAD)" -o "${PROG_NAME}-linux-arm-${VERSION}" || { echo "Aua" 1>&2 && exit 1; }
45 # env GOOS=linux GOARCH=386 GO386=387 go build -o "${PROG_NAME}-linux-386-${VERSION}" # https://github.com/golang/go/issues/11631
46 # env GOOS=darwin GOARCH=amd64 go build -o "${PROG_NAME}-darwin-amd64-${VERSION}"
49 "${say}" "simply"
50 # scp "ServerInfo.cgi" simply:/var/www/lighttpd/h4u.r-2.eu/public_html/"info.cgi"
51 gzip --force --best "${PROG_NAME}"-*-"${VERSION}" \
52 && chmod a-x "${PROG_NAME}"-*-"${VERSION}.gz" \
53 && rsync -vp --bwlimit=1234 "${PROG_NAME}"-*-"${VERSION}.gz" "simply:/tmp/" \
54 && ssh simply "sh -c 'cd /var/www/lighttpd/demo.mro.name/ && gunzip < "/tmp/${PROG_NAME}-linux-amd64-${VERSION}.gz" > pinboard.cgi && chmod a+x pinboard.cgi && ls -l pinboard?cgi*'"
56 # ssh simply "sh -c 'cd /var/www/lighttpd/b.mro.name/public_html/u/ && cp /var/www/lighttpd/l.mro.name/public_html/pinboard?cgi* . && ls -l pinboard?cgi*'"
57 "${say}" "ok"
59 exit 0
61 "${say}" "vario"
62 # scp "ServerInfo.cgi" vario:~/mro.name/webroot/b/"info.cgi"
63 ssh vario "sh -c 'cd ~/mro.name/webroot/b/ && curl -L http://purl.mro.name/pinboard_cgi.gz | tee pinboard_cgi.gz | gunzip > pinboard.cgi && chmod a+x pinboard.cgi && ls -l pinboard?cgi*'"
64 "${say}" "ok"