From 6dc75436fc7d844ae9c9704325ed87168f8fa0d0 Mon Sep 17 00:00:00 2001 From: John Olheiser Date: Mon, 23 Nov 2020 12:40:45 +0800 Subject: [PATCH] Add CI (#6) Rename check to vet Signed-off-by: jolheiser Parallel compliance Signed-off-by: jolheiser Update lint and move back to arm64 for compliance Signed-off-by: jolheiser Releases and tags Signed-off-by: jolheiser Move checks to amd64 Signed-off-by: jolheiser Add CI Signed-off-by: jolheiser Co-authored-by: jolheiser Reviewed-on: https://gitea.com/jolheiser/tmpl/pulls/6 Co-Authored-By: John Olheiser Co-Committed-By: John Olheiser --- .drone.yml | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Earthfile | 10 ++++ 2 files changed, 155 insertions(+) create mode 100644 .drone.yml create mode 100644 Earthfile diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..a72e606 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,145 @@ +--- +kind: pipeline +name: compliance + +platform: + os: linux + arch: arm64 + +trigger: + event: + - pull_request + +steps: + - name: build + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + commands: + - make test + - make build + + - name: vet + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + commands: + - make vet + depends_on: + - build + + - name: lint + pull: always + image: golangci/golangci-lint:v1.32 + commands: + - golangci-lint --timeout 5m run + depends_on: + - build + +--- +kind: pipeline +name: release-main + +platform: + os: linux + arch: amd64 + +trigger: + event: + - push + branch: + - main + +steps: + - name: build + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + VERSION: ${DRONE_COMMIT} + commands: + - make build + - name: build-windows + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + VERSION: ${DRONE_COMMIT} + GOOS: windows + commands: + - make build + - name: gitea-release + pull: always + image: jolheiser/drone-gitea-main:latest + environment: + GOPROXY: https://goproxy.cn + settings: + token: + from_secret: gitea_token + base: https://gitea.com + files: + - "tmpl" + - "tmpl.exe" + depends_on: + - build + - build-windows + + +--- +kind: pipeline +name: release-tag + +platform: + os: linux + arch: amd64 + +trigger: + event: + - tag + +steps: + - name: build + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + VERSION: ${DRONE_TAG} + commands: + - make build + - name: build-windows + pull: always + image: golang:1.15 + environment: + GOPROXY: https://goproxy.cn + GOOS: windows + VERSION: ${DRONE_TAG} + commands: + - make build + - name: gitea-release + pull: always + image: jolheiser/drone-gitea-main:latest + environment: + GOPROXY: https://goproxy.cn + settings: + token: + from_secret: gitea_token + base: https://gitea.com + files: + - "tmpl" + - "tmpl.exe" + depends_on: + - build + - build-windows + - name: gitea-prune + pull: always + image: jolheiser/drone-gitea-prune + environment: + GOPROXY: https://goproxy.cn + settings: + token: + from_secret: gitea_token + base: https://gitea.com + depends_on: + - gitea-release \ No newline at end of file diff --git a/Earthfile b/Earthfile new file mode 100644 index 0000000..dbe98be --- /dev/null +++ b/Earthfile @@ -0,0 +1,10 @@ +# To lint, install Earthly and run `earth +lint` +# This ensures the usage of the same version of golangci-lint + +FROM golangci/golangci-lint:v1.32 + +WORKDIR /tmpl + +lint: + COPY . . + RUN golangci-lint --timeout 5m run \ No newline at end of file