leo
ad6bcac326
All checks were successful
continuous-integration/drone/push Build is passing
ci: save the generated file in the tmp folder and do a diff with the staged file
205 lines
4.4 KiB
YAML
205 lines
4.4 KiB
YAML
---
|
|
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
|
|
GOPATH: /go
|
|
|
|
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 diff-index HEAD :^package-lock.json
|
|
# run Go mod tidy prior to committing
|
|
- test -z "$(git diff-index HEAD :^package-lock.json)"
|
|
|
|
- name: frontend
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [pull]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- pacman -Sy && pacman -S --noconfirm --needed npm
|
|
- npm i
|
|
- npx tailwindcss -i ./assets/input/css/tailwind.css -o ./tmp/pcmt.css --minify
|
|
# ignore whitespace changes.
|
|
- diff -Nsb ./assets/public/css/pcmt.css ./tmp/pcmt.css || ( echo files differ; exit 1 )
|
|
|
|
- name: go build
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [go mod tidy, frontend]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go build -v .
|
|
|
|
- name: go test
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [pull]
|
|
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.4-alpine3.17
|
|
depends_on: [clone]
|
|
commands:
|
|
- go version
|
|
|
|
- name: go mod tidy
|
|
image: docker.io/library/golang:1.20.4-alpine3.17
|
|
depends_on: [pull]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go mod tidy
|
|
- apk update -q && apk add -q --no-cache git
|
|
- git diff-index HEAD :^package-lock.json
|
|
# run Go mod tidy prior to committing
|
|
- test -z "$(git diff-index HEAD :^package-lock.json)"
|
|
|
|
- name: frontend
|
|
image: docker.io/library/golang:1.20.4-alpine3.17
|
|
depends_on: [pull]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- apk update -q && apk add -q --no-cache npm
|
|
- npm i
|
|
- npx tailwindcss -i ./assets/input/css/tailwind.css -o ./tmp/pcmt.css --minify
|
|
# ignore whitespace changes.
|
|
- diff -Nsb ./assets/public/css/pcmt.css ./tmp/pcmt.css || ( echo files differ; exit 1 )
|
|
|
|
- name: go build
|
|
image: docker.io/library/golang:1.20.4-alpine3.17
|
|
depends_on: [go mod tidy, frontend]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go build -v .
|
|
|
|
- name: go test
|
|
image: docker.io/library/golang:1.20.4-alpine3.17
|
|
depends_on: [pull]
|
|
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.4-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
|