---
kind: pipeline
type: kubernetes
name: terraform-provider-gitea
platform:
  os: linux
  arch: amd64
steps:
  - name: fetch
    image: docker:git
    commands:
      - git fetch --tags
    when:
      event:
      - push
      - pull_request
      - tag
  - name: build
    image: goreleaser/goreleaser
    commands:
      - goreleaser build --snapshot
    when:
      event:
      - push
      - pull_request
    resources:
      limits:
        cpu: 1000
        memory: 1024MiB
  - name: test
    image: golang:1.18.3-alpine3.16
    commands:
      - "apk add --update --no-cache make build-base"
      - "make test"
    when:
      event:
      - push
      - pull_request
  - name: release
    image: goreleaser/goreleaser
    environment:
      GITEA_TOKEN:
        from_secret: gitea_token
      GPG_PRIVATE_KEY:
        from_secret: GPG_PRIVATE_KEY
      GPG_FINGERPRINT:
        from_secret: GPG_FINGERPRINT
      GPG_PRIVATE_KEY_BASE64:
        from_secret: GPG_PRIVATE_KEY_BASE64
    commands:
      - apk add gpg-agent
      - gpg-agent --daemon --default-cache-ttl 7200
      - echo $GPG_PRIVATE_KEY_BASE64 | base64 -d | gpg --import --batch --no-tty
      - goreleaser release
    resources:
      limits:
        cpu: 1000
        memory: 1024MiB
    when:
      event: 
        - tag
