kind: pipeline type: docker name: ci trigger: event: - pull_request - push - tag steps: - name: lint image: cache.coadcorp.com/library/golang:1.26 environment: GOFLAGS: -mod=mod GOBIN: /usr/local/bin commands: - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8 - golangci-lint version - golangci-lint run --timeout=5m - name: test image: cache.coadcorp.com/library/golang:1.26 environment: GOFLAGS: -mod=mod commands: - go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... - name: build image: cache.coadcorp.com/library/golang:1.26 environment: GOFLAGS: -mod=mod commands: - CGO_ENABLED=0 go build -v ./cmd/invertergui - name: docker-build-validate image: gcr.io/kaniko-project/executor:v1.24.0 commands: - /kaniko/executor --context "${DRONE_WORKSPACE}" --dockerfile "${DRONE_WORKSPACE}/Dockerfile" --no-push --destination registry.coadcorp.com/nathan/invertergui:pr-${DRONE_BUILD_NUMBER} when: event: - pull_request - name: docker-publish-commit image: plugins/docker settings: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: from_secret: registry_password tags: - ${DRONE_COMMIT_SHA} when: event: - push - name: docker-publish-latest image: plugins/docker settings: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: from_secret: registry_password tags: - latest when: event: - push branch: - main - master - name: docker-publish-release image: plugins/docker settings: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: from_secret: registry_password auto_tag: true when: event: - tag