57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
# Golang CircleCI 2.0 configuration file
|
|
#
|
|
# Check https://circleci.com/docs/2.0/language-go/ for more details
|
|
version: 2.1
|
|
|
|
jobs:
|
|
"golang-1_15": &template
|
|
machine:
|
|
# https://circleci.com/docs/2.0/configuration-reference/#available-machine-images
|
|
image: ubuntu-2004:202010-01
|
|
# docker_layer_caching: true
|
|
|
|
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
|
|
resource_class: medium
|
|
|
|
# Leave working directory unspecified and use defaults:
|
|
# https://circleci.com/blog/go-v1.11-modules-and-circleci/
|
|
# working_directory: /go/src/github.com/golang-migrate/migrate
|
|
|
|
environment:
|
|
GO111MODULE: "on"
|
|
GO_VERSION: "1.15.x"
|
|
|
|
steps:
|
|
# - setup_remote_docker:
|
|
# version: 19.03.13
|
|
# docker_layer_caching: true
|
|
- run: curl -sL -o ~/bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
|
|
- run: curl -sfL -o ~/bin/golangci-lint.sh https://install.goreleaser.com/github.com/golangci/golangci-lint.sh
|
|
- run: chmod +x ~/bin/gimme ~/bin/golangci-lint.sh
|
|
- run: eval "$(gimme $GO_VERSION)"
|
|
- run: golangci-lint.sh -b ~/bin v1.37.0
|
|
- checkout
|
|
- restore_cache:
|
|
keys:
|
|
- go-mod-v1-{{ arch }}-{{ checksum "go.sum" }}
|
|
- run: golangci-lint run
|
|
- run: make test COVERAGE_DIR=/tmp/coverage
|
|
- save_cache:
|
|
key: go-mod-v1-{{ arch }}-{{ checksum "go.sum" }}
|
|
paths:
|
|
- "/go/pkg/mod"
|
|
- run: go get github.com/mattn/goveralls
|
|
- run: goveralls -service=circle-ci -coverprofile /tmp/coverage/combined.txt
|
|
|
|
"golang-1_16":
|
|
<<: *template
|
|
environment:
|
|
GO_VERSION: "1.16.x"
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- "golang-1_15"
|
|
- "golang-1_16"
|