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