--- kind: pipeline type: docker name: test archlinux platform: os: linux arch: amd64 node: r: as trigger: branch: [development, "feature-**"] event: push environment: CGO_ENABLED: 0 steps: - name: pull image: docker.io/immawanderer/archlinux-go:linux-amd64 pull: always depends_on: [clone] commands: - go version - name: go mod tidy image: docker.io/immawanderer/archlinux-go:linux-amd64 depends_on: [pull] volumes: - name: gopath path: /go commands: - go mod tidy - git status --porcelain # run Go mod tidy prior to committing - test -z "$(git status --porcelain)" - name: npm i image: docker.io/immawanderer/archlinux-go:linux-amd64 depends_on: [go mod tidy] volumes: - name: gopath path: /go commands: - pacman -Sy && pacman -S --noconfirm --needed npm - npm i - npx tailwindcss -i ./assets/input.css -o ./assets/pcmt.css --minify - name: go build image: docker.io/immawanderer/archlinux-go:linux-amd64 depends_on: [go mod tidy, npm i] volumes: - name: gopath path: /go commands: - go build -v . - name: go test image: docker.io/immawanderer/archlinux-go:linux-amd64 depends_on: [go mod tidy, npm i] volumes: - name: gopath path: /go commands: - go test -cover ./... volumes: - name: gopath temp: {} --- kind: pipeline type: docker name: test alpine platform: os: linux arch: amd64 node: r: as trigger: branch: [development, "feature-**"] event: push environment: CGO_ENABLED: 0 steps: - name: pull image: docker.io/library/golang:1.20.3-alpine3.17 depends_on: [clone] commands: - go version - name: go mod tidy image: docker.io/library/golang:1.20.3-alpine3.17 depends_on: [pull] volumes: - name: gopath path: /go commands: - go mod tidy - apk update -q && apk add -q --no-cache git - git status --porcelain # run Go mod tidy prior to committing - test -z "$(git status --porcelain)" - name: npm i image: docker.io/library/golang:1.20.3-alpine3.17 depends_on: [go mod tidy] volumes: - name: gopath path: /go commands: - apk update -q && apk add -q --no-cache npm - npm i - npx tailwindcss -i ./assets/input.css -o ./assets/pcmt.css --minify - name: go build image: docker.io/library/golang:1.20.3-alpine3.17 depends_on: [go mod tidy, npm i] volumes: - name: gopath path: /go commands: - go build -v . - name: go test image: docker.io/library/golang:1.20.3-alpine3.17 depends_on: [go mod tidy, npm i] volumes: - name: gopath path: /go commands: - go test -cover ./... volumes: - name: gopath temp: {} --- kind: pipeline type: docker name: golangci-lint|godocs platform: os: linux arch: amd64 node: r: as steps: - name: golangci-lint image: docker.io/library/golang:1.20.3-alpine3.17 pull: always environment: CGO_ENABLED: 0 commands: - go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.2 - golangci-lint version - golangci-lint run -v --timeout 5m - name: goreportcard refresh image: docker.io/curlimages/curl:8.00.1 depends_on: [golangci-lint] pull: if-not-exists trigger: ref: include: - "refs/tags/**" - refs/heads/development exclude: - "refs/pull/**" commands: - uname -r - curl --version - curl -sS -X POST -F \"repo=git.dotya.ml/${DRONE_REPO}\" https://goreportcard.com/checks -o /dev/null - name: godocs refresh image: docker.io/curlimages/curl:8.00.1 pull: if-not-exists depends_on: [golangci-lint] trigger: ref: include: - "refs/tags/**" - refs/heads/development exclude: ["refs/pull/**"] commands: - uname -r - curl --version - curl -sS -X POST https://godocs.io/git.dotya.ml/${DRONE_REPO}/refresh -o /dev/null