Added Travis CI

This commit is contained in:
Stash Dev 2019-02-10 04:16:29 -08:00
parent d1506cb719
commit 8efbfc6d72
6 changed files with 125 additions and 5 deletions

64
.goreleaser.yml Normal file
View File

@ -0,0 +1,64 @@
project_name: stash
before:
hooks:
- go mod download
builds:
- binary: stash-win
ldflags:
- "-extldflags '-static'"
env:
- CGO_ENABLED=1
- CC=x86_64-w64-mingw32-gcc
- CXX=x86_64-w64-mingw32-g++
flags:
- -tags
- extended
goos:
- windows
goarch:
- amd64
- binary: stash-osx
env:
- CGO_ENABLED=1
- CC=o64-clang
- CXX=o64-clang++
flags:
- -tags
- extended
goos:
- darwin
goarch:
- amd64
- binary: stash-linux
env:
- CGO_ENABLED=1
flags:
- -tags
- extended
goos:
- linux
goarch:
- amd64
archive:
format: tar.gz
format_overrides:
- goos: windows
format: zip
name_template: "{{.ProjectName}}_{{.Version}}_{{.Os}}-{{.Arch}}"
replacements:
amd64: 64bit
386: 32bit
arm: ARM
arm64: ARM64
darwin: macOS
linux: Linux
windows: Windows
openbsd: OpenBSD
netbsd: NetBSD
freebsd: FreeBSD
dragonfly: DragonFlyBSD
files:
- README.md
- LICENSE
release:
draft: true

34
.travis.yml Normal file
View File

@ -0,0 +1,34 @@
language: go
go:
- 1.11.x
services:
- docker
before_install:
- echo -e "machine github.com\n login $CI_USER_TOKEN" > ~/.netrc
- cd ui/v1
- yarn install
- ./node_modules/@angular/cli/bin/ng build --prod
- cd ../..
script: go test
before_deploy:
- docker pull bepsays/ci-goreleaser
- go get -u github.com/gobuffalo/packr/v2/packr2
- sh ./scripts/cross-compile.sh
- git tag -f v0.0.0-alpha
- git push -f --tags
deploy:
provider: releases
api_key:
secure: tGJ2q62CfPdayid2qEtW2aGRhMgCl3lBXYYQqp3eH0vFgIIf6cs7IDX7YC/x3XKMEQ/iMLZmtCXZvSTqNrD6Sk7MSnt30GIs+4uxIZDnnd8mV5X3K4n4gjD+NAORc4DrQBvUGrYMKJsR5gtkH0nu6diWb1o1If7OiJEuCPRhrmQYcza7NUdABnA9Z2wn2RNUV9Ga33WUCqLMEU5GtNBlfQPiP/khCQrqn/ocR6wUjYut3J6YagzqH4wsfJi3glHyWtowcNIw1LZi5zFxHD/bRBT4Tln7yypkjWNq9eQILA6i6kRUGf7ggyTx26/k8n4tnu+QD0vVh4EcjlThpU/LGyUXzKrrxjRwaDZnM0oYxg5AfHcBuAiAdo0eWnV3lEWRfTJMIVb9MPf4qDmzR4RREfB5OXOxwq3ODeCcJE8sTIMD/wBPZrlqS/QrRpND2gn2X4snkVukN9t9F4CMTFMtVSzFV7TDJW5E5Lq6VEExulteQhs6kcK9NRPNAaLgRQAw7X9kVWfDtiGUP+fE2i8F9Bo8bm7sOT5O5VPMPykx3EgeNg1IqIgMTCsMlhMJT4xBJoQUgmd2wWyf3Ryw+P+sFgdb5Sd7+lFgJBjMUUoOxMxAOiEgdFvCXcr+/Udyz2RdtetU1/6VzXzLPcKOw0wubZeBkISqu7o9gpfdMP9Eq00=
file:
- dist/stash-osx
- dist/stash-win.exe
- dist/stash-linux
skip_cleanup: true
overwrite: true
on:
repo: stashapp/stash
branch: master
branches:
except:
- /^v\d+\.\d\.\d.*/ # don't build tags

View File

@ -1,5 +1,8 @@
gqlgen:
go run scripts/gqlgen.go
build:
CGO_ENABLED=1 packr2 build -mod=vendor -v
CGO_ENABLED=1 packr2 build -mod=vendor -v
install:
packr2 install
gqlgen:
go run scripts/gqlgen.go

View File

@ -77,4 +77,6 @@ TODO
#### Notes for the dev
https://blog.filippo.io/easy-windows-and-linux-cross-compilers-for-macos/
https://blog.filippo.io/easy-windows-and-linux-cross-compilers-for-macos/
`docker run --rm --mount type=bind,source="$(pwd)",target=/stash -w /stash -i -t bepsays/ci-goreleaser:1.11-2 /bin/bash`

7
main_test.go Normal file
View File

@ -0,0 +1,7 @@
package main
import "testing"
func TestStub(t *testing.T) {
}

10
scripts/cross-compile.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
SETUP="export GO111MODULE=on; export CGO_ENABLED=1; go get -u github.com/gobuffalo/packr/v2/packr2;"
WINDOWS="GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ packr2 build -o dist/stash-win.exe -ldflags \"-extldflags '-static'\" -tags extended -v -mod=vendor;"
DARWIN="GOOS=darwin GOARCH=amd64 CC=o64-clang CXX=o64-clang++ packr2 build -o dist/stash-osx -tags extended -v -mod=vendor;"
LINUX="packr2 build -o dist/stash-linux -v -mod=vendor;"
COMMAND="$SETUP $WINDOWS $DARWIN $LINUX"
docker run --rm --mount type=bind,source="$(pwd)",target=/stash -w /stash bepsays/ci-goreleaser:1.11-2 /bin/bash -c "$COMMAND"