# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle

name: Close YouTrack on commit

on:
  workflow_dispatch:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest
    if: github.repository == 'JetBrains/ideavim'

    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 300
      - name: Get tags
        run: git fetch --tags origin
      - name: Set up JDK 17
        uses: actions/setup-java@v2
        with:
          java-version: '17'
          distribution: 'adopt'
          server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
          settings-path: ${{ github.workspace }} # location for the settings.xml file

        # The last successful job was marked with a tag
      - name: Get commit with last workflow
        run: |
          echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-close-youtrack)" >> $GITHUB_ENV

      - name: Update YouTrack
        run: ./gradlew --no-configuration-cache updateYoutrackOnCommit
        env:
          SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
          YOUTRACK_TOKEN: ${{ secrets.YOUTRACK_TOKEN }}

      - name: Update tags
        run: |
          git tag --delete workflow-close-youtrack || true
          git push origin :refs/tags/workflow-close-youtrack || true
          git tag workflow-close-youtrack
          git push origin workflow-close-youtrack