blob: 68a87fe6bbaf1d35469462f4c66f4ca47bdaa6f5 [file] [log] [blame]
version: 2.1
orbs:
win: circleci/windows@2.2.0
commands:
win_install_go:
steps:
- run: choco install golang --version 1.14.6 --yes
go_build:
steps:
- run: go build ./...
go_test:
steps:
- run: go test -v ./...
jobs:
winbuild:
executor:
name: win/default
steps:
- checkout
- win_install_go
- go_build
wintest:
executor:
name: win/default
steps:
- checkout
- win_install_go
- go_test
go112_build:
docker:
- image: circleci/golang:1.12
steps:
- checkout
- go_build
go113_build:
docker:
- image: circleci/golang:1.13
steps:
- checkout
- go_build
go114_build:
docker:
- image: circleci/golang:1.14
steps:
- checkout
- go_build
go114_test:
docker:
- image: circleci/golang:1.14
parameters:
test_results:
type: string
default: /tmp/test-results
steps:
- checkout
- go_test
go115_build:
docker:
- image: circleci/golang:1.15
steps:
- checkout
- go_build
go115_test:
docker:
- image: circleci/golang:1.15
parameters:
test_results:
type: string
default: /tmp/test-results
steps:
- checkout
- go_test
go115_vet:
docker:
- image: circleci/golang:1.15
steps:
- checkout
- run: go vet ./...
go115_fmt:
docker:
- image: circleci/golang:1.15
steps:
- checkout
- run: gofmt -s -l .
go115_release:
docker:
- image: circleci/golang:1.15
steps:
- add_ssh_keys:
fingerprints:
- db:cf:97:b8:d6:ac:86:74:96:e1:54:e4:bc:27:2b:d0
- checkout
- run: ./scripts/release/release.sh
workflows:
version: 2
pr:
jobs:
- winbuild
- wintest:
requires:
- winbuild
# build only for these versions
- go112_build
- go113_build
- go114_build
- go114_test:
requires:
- go114_build
- go115_build
- go115_test:
requires:
- go115_build
- go115_vet:
requires:
- go115_build
- go115_fmt:
requires:
- go115_build
release:
jobs:
- winbuild
- wintest:
requires:
- winbuild
# build only for these versions
- go112_build
- go113_build
- go114_build
- go114_test:
requires:
- go114_build
- go115_build
- go115_test:
requires:
- go115_build
- go115_vet:
requires:
- go115_build
- go115_fmt:
requires:
- go115_build
- trigger-release:
filters:
branches:
only:
- master
type: approval
- go115_release:
filters:
branches:
only:
- master
requires:
- trigger-release
- go112_build
- go113_build
- go114_test
- go115_test
- go115_vet
- go115_fmt
- wintest