189 lines
3.9 KiB
YAML
189 lines
3.9 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
|
|
|
|
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: go fmt
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [go mod tidy]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go fmt ./...
|
|
- git status --porcelain
|
|
# unformatted Go code
|
|
- test -z "$(git status --porcelain)"
|
|
|
|
- name: go vet
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [go mod tidy]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go vet ./...
|
|
|
|
- name: npm i
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [go fmt, go vet]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- mkdir -pv static
|
|
- pacman -Sy && pacman -S --noconfirm --needed npm
|
|
- npm i
|
|
- npx tailwindcss -i ./assets/input.css -o ./static/pcmt.css --minify
|
|
|
|
- name: go build
|
|
image: docker.io/immawanderer/archlinux-go:linux-amd64
|
|
depends_on: [go fmt, go vet, 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 fmt, go vet, 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: go fmt
|
|
image: docker.io/library/golang:1.20.3-alpine3.17
|
|
depends_on: [go mod tidy]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go fmt ./...
|
|
- apk update -q && apk add -q --no-cache git
|
|
- git status --porcelain
|
|
# unformatted Go code
|
|
- test -z "$(git status --porcelain)"
|
|
|
|
- name: go vet
|
|
image: docker.io/library/golang:1.20.3-alpine3.17
|
|
depends_on: [go mod tidy]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go vet ./...
|
|
|
|
- name: npm i
|
|
image: docker.io/library/golang:1.20.3-alpine3.17
|
|
depends_on: [go fmt, go vet]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- mkdir -pv static
|
|
- apk update -q && apk add -q --no-cache npm
|
|
- npm i
|
|
- npx tailwindcss -i ./assets/input.css -o ./static/pcmt.css --minify
|
|
|
|
- name: go build
|
|
image: docker.io/library/golang:1.20.3-alpine3.17
|
|
depends_on: [go fmt, go vet, 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 fmt, go vet, npm i]
|
|
volumes:
|
|
- name: gopath
|
|
path: /go
|
|
commands:
|
|
- go test -cover ./...
|
|
|
|
volumes:
|
|
- name: gopath
|
|
temp: {}
|