mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-02 09:21:40 +02:00
74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: circleci/golang:1.11
|
|
working_directory: /go/src/github.com/jesseduffield/lazygit
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Ensure go.mod file is up to date
|
|
command: |
|
|
export GO111MODULE=on
|
|
rm go.sum
|
|
mv go.mod /tmp/
|
|
go mod init
|
|
export GO111MODULE=auto
|
|
|
|
if [ $(diff /tmp/go.mod go.mod|wc -l) -gt 0 ]; then
|
|
diff /tmp/go.mod go.mod
|
|
exit 1;
|
|
fi
|
|
- run:
|
|
name: Run gofmt -s
|
|
command: |
|
|
if [ $(find . ! -path "./vendor/*" -name "*.go" -exec gofmt -s -d {} \;|wc -l) -gt 0 ]; then
|
|
find . ! -path "./vendor/*" -name "*.go" -exec gofmt -s -d {} \;
|
|
exit 1;
|
|
fi
|
|
- restore_cache:
|
|
keys:
|
|
- pkg-cache-{{ checksum "Gopkg.lock" }}-v3
|
|
- run:
|
|
name: Run tests
|
|
command: |
|
|
./test.sh
|
|
- run:
|
|
name: Compile project on every platform
|
|
command: |
|
|
go get github.com/mitchellh/gox
|
|
gox -parallel 10 -os "linux freebsd netbsd windows" -osarch "darwin/i386 darwin/amd64"
|
|
- run:
|
|
name: Push on codecov result
|
|
command: |
|
|
bash <(curl -s https://codecov.io/bash)
|
|
- save_cache:
|
|
key: pkg-cache-{{ checksum "Gopkg.lock" }}-v3
|
|
paths:
|
|
- ~/.cache/go-build
|
|
|
|
release:
|
|
docker:
|
|
- image: circleci/golang:1.10
|
|
working_directory: /go/src/github.com/jesseduffield/lazygit
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Run gorelease
|
|
command: |
|
|
curl -sL https://git.io/goreleaser | bash
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- build
|
|
release:
|
|
jobs:
|
|
- release:
|
|
filters:
|
|
tags:
|
|
only: /v[0-9]+(\.[0-9]+)*/
|
|
branches:
|
|
ignore: /.*/
|