--- kind: pipeline name: default platform: os: linux arch: amd64 steps: - name: build pull: always image: golang:1.20 environment: GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not commands: - make clean - make vet - make lint - make fmt-check - make misspell-check - make build when: event: - push - tag - pull_request - name: unit-test image: golang:1.20 commands: - make unit-test-coverage settings: group: test environment: GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not when: branch: - main event: - push - pull_request - name: release-test image: golang:1.20 commands: - make test settings: group: test environment: GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not when: branch: - "release/*" event: - push - pull_request - name: tag-test pull: always image: golang:1.20 commands: - make test settings: group: test environment: GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not when: event: - tag - name: static image: golang:1.20 environment: GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not commands: - make release when: event: - push - tag - name: gpg-sign pull: always image: plugins/gpgsign:1 settings: detach_sign: true excludes: - "dist/release/*.sha256" files: - "dist/release/*" environment: GPGSIGN_KEY: from_secret: gpgsign_key GPGSIGN_PASSPHRASE: from_secret: gpgsign_passphrase when: event: - push - tag - name: tag-release pull: always image: woodpeckerci/plugin-s3:latest settings: acl: from_secret: aws_s3_acl region: from_secret: aws_s3_region bucket: from_secret: aws_s3_bucket endpoint: from_secret: aws_s3_endpoint path_style: from_secret: aws_s3_path_style source: "dist/release/*" strip_prefix: dist/release/ target: "/tea/${DRONE_TAG##v}" environment: AWS_ACCESS_KEY_ID: from_secret: aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: aws_secret_access_key when: event: - tag - name: release-branch-release pull: always image: woodpeckerci/plugin-s3:latest settings: acl: from_secret: aws_s3_acl region: from_secret: aws_s3_region bucket: from_secret: aws_s3_bucket endpoint: from_secret: aws_s3_endpoint path_style: from_secret: aws_s3_path_style source: "dist/release/*" strip_prefix: dist/release/ target: "/tea/${DRONE_BRANCH##release/v}" environment: AWS_ACCESS_KEY_ID: from_secret: aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: aws_secret_access_key when: branch: - "release/*" event: - push - name: release pull: always image: woodpeckerci/plugin-s3:latest settings: acl: from_secret: aws_s3_acl region: from_secret: aws_s3_region bucket: from_secret: aws_s3_bucket endpoint: from_secret: aws_s3_endpoint path_style: from_secret: aws_s3_path_style source: "dist/release/*" strip_prefix: dist/release/ target: /tea/main environment: AWS_ACCESS_KEY_ID: from_secret: aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: aws_secret_access_key when: branch: - main event: - push - name: gitea pull: always image: plugins/gitea-release:1 settings: files: - "dist/release/*" base_url: https://gitea.com api_key: from_secret: gitea_token when: event: - tag - name: discord pull: always image: appleboy/drone-discord:1.0.0 environment: DISCORD_WEBHOOK_ID: from_secret: discord_webhook_id DISCORD_WEBHOOK_TOKEN: from_secret: discord_webhook_token when: event: - push - tag - pull_request status: - changed - failure