---
when:
  - event: [pull_request, tag]
  - event: [push, manual]
    branch:
      - ${CI_REPO_DEFAULT_BRANCH}

steps:
  - name: assets
    image: docker.io/library/node:lts
    commands:
      - npm install --quiet --no-progress
      - npm run build
      - cat VERSION
    environment:
      FORCE_COLOR: "true"

  - name: package
    image: docker.io/library/node:lts
    commands:
      - npm run pack
    environment:
      FORCE_COLOR: "true"

  - name: checksum
    image: quay.io/thegeeklab/alpine-tools
    commands:
      - cd dist/ && sha256sum * > ../sha256sum.txt

  - name: changelog
    image: quay.io/thegeeklab/git-sv
    commands:
      - git sv current-version
      - git sv release-notes -t ${CI_COMMIT_TAG:-next} -o CHANGELOG.md
      - cat CHANGELOG.md

  - name: publish-github
    image: docker.io/plugins/github-release
    settings:
      api_key:
        from_secret: github_token
      files:
        - dist/*
        - sha256sum.txt
      note: CHANGELOG.md
      overwrite: true
      title: ${CI_COMMIT_TAG}
    when:
      - event: [tag]

depends_on:
  - test