diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..f0e4c6d --- /dev/null +++ b/.drone.yml @@ -0,0 +1,158 @@ +--- +kind: pipeline +type: docker +name: test archlinux + +platform: + os: linux + arch: amd64 + +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: go build + image: docker.io/immawanderer/archlinux-go:linux-amd64 + depends_on: [go fmt, go vet] + 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] + 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 + +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: go build + image: docker.io/library/golang:1.20.3-alpine3.17 + depends_on: [go fmt, go vet] + 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] + volumes: + - name: gopath + path: /go + commands: + - go test -cover ./... + +volumes: + - name: gopath + temp: {} diff --git a/README.md b/README.md index 66e4c99..0b65289 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ > Password Compromise Monitoring Tool +[![Build Status](https://drone.dotya.ml/api/badges/mirre-mt/pcmt/status.svg)](https://drone.dotya.ml/mirre-mt/pcmt) + > :construction: **note:** this project is being developed as a part of my > [thesis](https://git.dotya.ml/mirre-mt/masters-thesis/) and is currently > a work in progress. :construction: