# Creates a new tag, whenever the app version (in package.json) is updated in master
# And marks any relevant issues as fixed
name: 🏗️ Release Tag new Versions
on:
  push:
    branches:
      - master
jobs:
  tag-pre-release:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    outputs:
      tag: ${{ steps.autotag.outputs.tagname }}
    steps:
    - uses: actions/checkout@v2
    - uses: butlerlogic/action-autotag@stable
      id: autotag
      with:
        GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
        strategy: package
        commit_message_template: "🔖 {{number}} {{message}} (by {{author}})\nSHA: {{sha}}\n."
  github-release:
    runs-on: ubuntu-latest
    needs: tag-pre-release
    if: ${{ needs.tag-pre-release.outputs.tag }}
    steps:
    - uses: actions/checkout@v2
    - uses: ncipollo/release-action@v1
      env:
        GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
      with:
        tag: ${{ needs.tag-pre-release.outputs.tag }}
        bodyFile: ".github/LATEST_CHANGELOG.md"
  mark-issue-fixed:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Label Fixed Issues
      uses: gh-bot/fix-labeler@master
      with:
        token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
        label: '✅ Fixed'
