diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..67c9154 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,70 @@ +version: 2 + +jobs: + golang-1.11-pipeline: + working_directory: /home/circleci/app + docker: + - image: circleci/golang:1.11 + environment: + GO111MODULE: "on" + steps: + - checkout + - restore_cache: + keys: + - golang-1.11-{{ checksum "go.sum" }} + - run: make setup + - save_cache: + key: golang-1.11-{{ checksum "go.sum" }} + paths: + - "/go/pkg/mod" + - run: + name: run static analysis & tests + command: make ci + + golang-1.12-pipeline: + working_directory: /home/circleci/app + docker: + - image: circleci/golang:1.12 + environment: + GO111MODULE: "on" + steps: + - checkout + - restore_cache: + keys: + - golang-1.12-{{ checksum "go.sum" }} + - run: make setup + - save_cache: + key: golang-1.12-{{ checksum "go.sum" }} + paths: + - "/go/pkg/mod" + - run: + name: run static analysis & tests + command: make ci + + golang-1.13-pipeline: + working_directory: /home/circleci/app + docker: + - image: circleci/golang:1.13 + environment: + GO111MODULE: "on" + steps: + - checkout + - restore_cache: + keys: + - golang-1.13-{{ checksum "go.sum" }} + - run: make setup + - save_cache: + key: golang-1.13-{{ checksum "go.sum" }} + paths: + - "/go/pkg/mod" + - run: + name: run static analysis & tests + command: make ci + +workflows: + version: 2 + commit: + jobs: + - golang-1.11-pipeline + - golang-1.12-pipeline + - golang-1.13-pipeline diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 5bc5684..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,26 +0,0 @@ -image: golang:1.13 - -cache: - paths: - - .cache - -variables: - GOPATH: $CI_PROJECT_DIR/.cache - -stages: - - setup - - validation - -setup: - stage: setup - script: - - mkdir -p .cache - - go get ./... - - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.17.1 - -validation: - stage: validation - before_script: - - export PATH="$GOPATH/bin:$PATH" - script: - - make ci diff --git a/Makefile b/Makefile index 58de9a7..06cf507 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,10 @@ lint: build generate-test-data: docker build -t dive-test:latest -f .data/Dockerfile.test-image . && docker image save -o .data/test-docker-image.tar dive-test:latest && echo "Exported test data!" +setup: + go get ./... + curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b /go/bin v1.18.0 + clean: rm -rf build go clean