1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-09 13:47:11 +02:00

update circleci

* define release worflow when a tag is created
* add dep install
* run tests with coverage
* add goreleaser
This commit is contained in:
Anthony HAMON 2018-08-18 09:27:47 +02:00
parent 81b07daa01
commit fbfa48f0fc
3 changed files with 50 additions and 18 deletions

View File

@ -1,26 +1,43 @@
# Golang CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-go/ for more details
version: 2
jobs:
build:
docker:
# specify the version
- image: circleci/golang:1.9
- image: circleci/golang:1.10
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
#### TEMPLATE_NOTE: go expects specific checkout path representing url
#### expecting it in the form of
#### /go/src/github.com/circleci/go-tool
#### /go/src/bitbucket.org/circleci/go-tool
working_directory: /go/src/github.com/jesseduffield/lazygit
steps:
- checkout
- run:
name: Run tests
command: |
./test.sh
- run:
name: Push on codecov result
command: |
bash <(curl -s https://codecov.io/bash)
# specify any bash command here prefixed with `run: `
- run: go test -v ./...
- run: bash <(curl -s https://codecov.io/bash)
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:
context: org-global
filters:
tags:
only: /v[0-9]+(\.[0-9]+)*/
branches:
ignore: /.*/

3
.gitignore vendored
View File

@ -13,6 +13,7 @@ TODO.md
# Tests
test/repos/repo
coverage.txt
# Binaries
lazygit
lazygit

14
test.sh Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
echo "" > coverage.txt
for d in $( find ./* -maxdepth 10 ! -path "./vendor*" ! -path "./.git*" -type d); do
if ls $d/*.go &> /dev/null; then
go test -v -race -coverprofile=profile.out -covermode=atomic $d
if [ -f profile.out ]; then
cat profile.out >> coverage.txt
rm profile.out
fi
fi
done