pipeline:
  test:
    image: golang:latest
    commands:
      - go build ./cmd/client/client.go
      - go build ./cmd/server/server.go
      - go test -v ./...
      - go vet ./...
    when:
      branch: master
      event: [push, pull_request, tag, deployment]

  image-latest:
    image: plugins/docker
    settings:
      repo: registry.t-juice.club/gpaste
      registry: registry.t-juice.club
      username: woodpecker
      password: 
        from_secret: registry_password
      tags:
        - latest
        - "${CI_COMMIT_SHA:0:8}"
    when:
      branch: master
      event: push

  image-tagged:
    image: plugins/docker
    settings:
      repo: registry.t-juice.club/gpaste
      registry: registry.t-juice.club
      username: woodpecker
      password: 
        from_secret: registry_password
      tags:
        - "${CI_COMMIT_TAG}"
    when:
      event: [tag]

  goreleaser-tagged:
    image: goreleaser/goreleaser
    commands:
      - git fetch --tags
      - echo "$GITEA_TOKEN" > gitea_token
      - goreleaser release
    when:
      event: [tag]
    secrets: [gitea_token]