kind: pipeline type: docker name: default steps: - name: static_check image: golang:1.18 commands: - go install honnef.co/go/tools/cmd/staticcheck@latest - staticcheck ./pkg/... volumes: - name: gopath path: /go - name: lint image: golang:1.18 commands: - go install golang.org/x/lint/golint@latest - golint -set_exit_status ./pkg/... volumes: - name: gopath path: /go - name: vet image: golang:1.18 commands: - go vet ./pkg/... volumes: - name: gopath path: /go - name: build_image image: plugins/docker commands: - simple=$(echo $CI_COMMIT_BRANCH | grep '/') ; p1=$(echo $CI_COMMIT_BRANCH | cut -d '/' -f1 -s) && p2=$(echo $CI_COMMIT_BRANCH | cut -d '/' -f2 -s) && tag=${simple:-$p1-$p2} && docker build -t git.pbiernat.dev/golang/vegvisir:$tag -f Dockerfile.build . volumes: - name: docker-sock path: /var/run - name: push_image image: plugins/docker environment: DOCKER_USERNAME: from_secret: registry_username DOCKER_PASSWORD: from_secret: registry_password commands: - simple=$(echo $CI_COMMIT_BRANCH | grep '/') ; p1=$(echo $CI_COMMIT_BRANCH | cut -d '/' -f1 -s) && p2=$(echo $CI_COMMIT_BRANCH | cut -d '/' -f2 -s) && tag=${simple:=$p1-$p2} && echo $DOCKER_PASSWORD | docker login git.pbiernat.dev -u $DOCKER_USERNAME --password-stdin && docker push git.pbiernat.dev/golang/vegvisir:$tag volumes: - name: docker-sock path: /var/run services: - name: docker image: docker:dind privileged: true volumes: - name: docker-sock path: /var/run volumes: - name: gopath temp: {} - name: docker-sock temp: {}