Skip to content

Commit b0d7222

Browse files
committed
add travis
1 parent 73b3470 commit b0d7222

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

.travis.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
language: go
2+
sudo: false
3+
notifications:
4+
email: false
5+
jobs:
6+
include:
7+
- go: 1.10.x
8+
stage: deploy
9+
go_import_path: github.com/wzshiming/pic2ascii
10+
install: skip
11+
script: skip
12+
before_deploy:
13+
- ./build_all.bash
14+
deploy:
15+
provider: releases
16+
api_key:
17+
secure: GzblmBWxT2Mrj3Tj7enzGYJkYhpo/dfSyKObGom+C+Y15qRyUWRznyTVIsFSqiMTHVZioLHlQIvrBkR2o41PoFYCeP5xQ/4mEbdoIzjFhpWK8E7Y+WCtd0PLfIVOm2wiZpOy+ucu5KnBYeXyopyFHmTBlVjsUNQwUK4SdEE6RWlZB6rN8FHaF+KzW4hikDVHPSdZ0b49WsTNkSyToD8t9vnTFKrMMpfgwBJCJKpg+IADhz15/LESbGq/zNZWirZ1x6UtAez0gcc4VOMNNILbMu76Ldb0WVyHcnnkp+wXMacWxezxqTsKt70/483p6M8TLXIRR0WFPAHIerEOpodPxea4KJaSh8idZGnchL0NeaHpLG+sCEvwxrwHy666kVLpmEjnPEsSK4FvF7e04LFauPVYDJmgu44eUXqaSu/8o0Gv/cr9vWa0JrUWbGgzWFL+h3W53Qzkna98adBMfe1M2z8msMbT2fNWmsmgYPK6HZ4DM+QANc3DyomSOUf8LIEYRxxD7PKaTcjaJGXMF+/tpwnz51yotOX5ddh/QJXxOi+36lxV3EoWcJ8u/XsPnnEn6fmXkp6JmsjuFZsQgG8JaVOwAOeoa4cTzGWgTCmf8sQHMgJ6cm6VDY9C8XGjOaQaWKtwqmu6dEeqybYFTNZtBJHXZ2eOtyfXNWEYt1lqsbo=
18+
file_glob: true
19+
file: release/*
20+
skip_cleanup: true
21+
on:
22+
repo: wzshiming/pic2ascii
23+
branch: master
24+
tags: true

build_all.bash

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
4+
BASENAME=pic2ascii
5+
SRC_ROOT=$(git rev-parse --show-toplevel)
6+
VERSION=$(git describe --tags --dirty)
7+
COMMIT_HASH=$(git rev-parse --short HEAD 2>/dev/null)
8+
DATE=$(date "+%Y-%m-%d")
9+
IMPORT_DURING_SOLVE=${IMPORT_DURING_SOLVE:-false}
10+
11+
if [[ "$(pwd)" != "${SRC_ROOT}" ]]; then
12+
echo "you are not in the root of the repo" 1>&2
13+
echo "please cd to ${SRC_ROOT} before running this script" 1>&2
14+
exit 1
15+
fi
16+
17+
GO_BUILD_CMD="go build -a -installsuffix cgo"
18+
GO_BUILD_LDFLAGS="-s -w -X main.commitHash=${COMMIT_HASH} -X main.buildDate=${DATE} -X main.version=${VERSION} -X main.flagImportDuringSolve=${IMPORT_DURING_SOLVE}"
19+
20+
if [[ -z "${SRC_BUILD_PLATFORMS}" ]]; then
21+
SRC_BUILD_PLATFORMS="linux windows darwin freebsd"
22+
fi
23+
24+
if [[ -z "${SRC_BUILD_ARCHS}" ]]; then
25+
SRC_BUILD_ARCHS="amd64 386"
26+
fi
27+
28+
mkdir -p "${SRC_ROOT}/release"
29+
30+
for OS in ${SRC_BUILD_PLATFORMS[@]}; do
31+
for ARCH in ${SRC_BUILD_ARCHS[@]}; do
32+
NAME="${BASENAME}_${OS}_${ARCH}"
33+
if [[ "${OS}" == "windows" ]]; then
34+
NAME="${NAME}.exe"
35+
fi
36+
echo "Building for ${OS}/${ARCH}"
37+
GOARCH=${ARCH} GOOS=${OS} CGO_ENABLED=0 ${GO_BUILD_CMD} -ldflags "${GO_BUILD_LDFLAGS}"\
38+
-o "${SRC_ROOT}/release/${NAME}" ./cmd/${BASENAME}
39+
shasum -a 256 "${SRC_ROOT}/release/${NAME}" > "${SRC_ROOT}/release/${NAME}".sha256
40+
done
41+
done

0 commit comments

Comments
 (0)