name: Update Main Version
run-name: Move ${{ github.event.inputs.main_version }} to ${{ github.event.inputs.target }}

on:
  workflow_dispatch:
    inputs:
      target:
        description: The tag or reference to use
        required: true
      main_version:
        type: choice
        description: The main version to update
        options:
          - v3

jobs:
  tag:
    runs-on: ubuntu-latest
    env:
      TARGET: ${{ github.event.inputs.target }}
      MAIN_VERSION: ${{ github.event.inputs.main_version }}
    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - name: Git config
      run: |
        git config user.name github-actions
        git config user.email github-actions@github.com
    - name: Tag new target
      run: git tag -f "$MAIN_VERSION" "$TARGET"
    - name: Push new tag
      run: git push origin "$MAIN_VERSION" --force