variables:
  - &when_path
    - "charts/**"
    - ".woodpecker/helm.yml"

pipeline:
  set-version:
    image: alpine/helm:3.5.3
    commands:
      # use tag name or 0.0.0 if not running on a tag
      - export CHART_VERSION="${CI_COMMIT_TAG##v}"
      - export CHART_VERSION=$${CHART_VERSION:=0.0.0}
      - echo "Version $CHART_VERSION"
      - sed -i "s/<version>/$CHART_VERSION/g" charts/woodpecker-agent/Chart.yaml
      - sed -i "s/<version>/$CHART_VERSION/g" charts/woodpecker-server/Chart.yaml
      - cat charts/woodpecker-agent/Chart.yaml
      - cat charts/woodpecker-server/Chart.yaml
    when:
      path: *when_path

  lint:
    image: alpine/helm:3.5.3
    commands:
      - helm lint charts/woodpecker-agent/
      - helm lint charts/woodpecker-server/
    when:
      path: *when_path

  release:
    image: quay.io/helmpack/chart-releaser:v1.4.0
    secrets:
      - source: github_token
        target: CR_TOKEN
    commands:
      - git config --global user.email "woodpecker-bot@obermui.de"
      - git config --global user.name "woodpecker-bot"
      - mkdir -p .cr-index
      - cr package charts/woodpecker-server
      - cr package charts/woodpecker-agent
      - cr upload --owner woodpecker-ci --git-repo woodpecker-ci.github.io --release-name-template "helm-{{ .Name }}-{{ .Version }}"
      - git clone https://github.com/woodpecker-ci/woodpecker-ci.github.io.git
      - cd woodpecker-ci.github.io/ && cr index --owner woodpecker-ci --git-repo woodpecker-ci.github.io --pages-branch master --package-path ../.cr-release-packages --index-path ../.cr-index/index.yaml --charts-repo https://woodpecker-ci.org --push --release-name-template "helm-{{ .Name }}-{{ .Version }}"
    when:
      event: tag
      path: *when_path
