```
name: Выпуск

on:
  workflow_dispatch:
    inputs:
      release_type:
        description: 'Ветка выпуска'
        required: true
        default: 'beta'
        type: choice
        options:
          - 'beta'
          - 'release'
  pull_request:
    paths:
      - 'ru-ru/**'
  push:
    paths:
      - 'ru-ru/**'

env:
  REPO_NAME: ${{ github.repository }}
  BASE_DIR: ru-ru

jobs:
  release:
    runs-on: ubuntu-latest

    steps:
      - name: Клонирование репозитория
        uses: actions/checkout@v4

      - name: Установка ветки выпуска
        if: github.event_name == 'workflow_dispatch'
        run: echo "release_type=${{ github.event.inputs.release_type }}" >> $GITHUB_ENV

      - name: Определение существующих тегов
        id: determine-tags
        run: |
          tags=$(git tag --list)
          
          if [[ "${{ env.release_type }}" == "beta" ]]; then
            prefix="B"
            last_tag=$(echo "$tags" | grep "^$prefix" | sed "s/^$prefix//" | sort -V | tail -n 1)
          else
            last_tag=$(echo "$tags" | grep -E "^[0-9]+$" | sort -V | tail -n 1)
          fi

          if [ -z "$last_tag" ]; then
            next_tag="1"
          else
            next_tag="$(($last_tag + 1))"
          fi

          echo "next_tag=$next_tag" >> $GITHUB_ENV

      - name: Проверка существующего выпуска с таким тегом
        id: check-release
        run: |
          release_exists=$(gh release view ${{ env.release_type == 'beta' && 'B' || '' }}${{ env.next_tag }} --json tagName --jq '.tagName' || echo "not_found")
          
          if [[ "$release_exists" != "not_found" ]]; then
            echo "Релиз с тегом $release_exists уже существует. Увеличиваем тег."
            next_tag="$((${{ env.next_tag }} + 1))"
            echo "next_tag=$next_tag" >> $GITHUB_ENV
          fi

      - name: Архивация ru-ru
        run: |
          if [[ "${{ env.release_type }}" == "beta" ]]; then
            archive_name="Fusion-2.5-Russian-Language-B${{ env.next_tag }}.zip"
          else
            archive_name="Fusion-2.5-Russian-Language-${{ env.next_tag }}.zip"
          fi
          zip -r $archive_name $BASE_DIR

      - name: Создание выпуска
        uses: softprops/action-gh-release@v2
        with:
          tag_name: |
            ${{ env.release_type == 'beta' && 'B' || '' }}${{ env.next_tag }}
          files: |
            Fusion-2.5-Russian-Language-${{ env.release_type == 'beta' && 'B' || '' }}${{ env.next_tag }}.zip
          name: |
            ${{ env.next_tag }}-й ${{ env.release_type == 'beta' && 'бета-' || '' }}выпуск
          body: |
            Автоматический ${{ env.release_type == 'beta' && 'бета-' || '' }}выпуск.
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

```
Определение существующих тегов

Run tags=$(git tag --list)
  tags=$(git tag --list)
  
  if [[ "beta" == "beta" ]]; then
    prefix="B"
    last_tag=$(echo "$tags" | grep "^$prefix" | sed "s/^$prefix//" | sort -V | tail -n 1)
  else
    last_tag=$(echo "$tags" | grep -E "^[0-9]+$" | sort -V | tail -n 1)
  fi
  
  if [ -z "$last_tag" ]; then
    next_tag="1"
  else
    next_tag="$(($last_tag + 1))"
  fi
  
  echo "next_tag=$next_tag" >> $GITHUB_ENV
  shell: /usr/bin/bash -e {0}
  env:
    REPO_NAME: RushanM/Clickteam-Fusion-2.5-Russian-Language
    BASE_DIR: ru-ru
    release_type: beta

Проверка существующего выпуска с таким тегом

Run release_exists=$(gh release view B1 --json tagName --jq '.tagName' || echo "not_found")
  release_exists=$(gh release view B1 --json tagName --jq '.tagName' || echo "not_found")
  
  if [[ "$release_exists" != "not_found" ]]; then
    echo "Релиз с тегом $release_exists уже существует. Увеличиваем тег."
    next_tag="$((1 + 1))"
    echo "next_tag=$next_tag" >> $GITHUB_ENV
  fi
  shell: /usr/bin/bash -e {0}
  env:
    REPO_NAME: RushanM/Clickteam-Fusion-2.5-Russian-Language
    BASE_DIR: ru-ru
    release_type: beta
    next_tag: 1
gh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable. Example:
  env:
    GH_TOKEN: ${{ github.token }}

Создание выпуска

Run softprops/action-gh-release@v2
Found release 1-й бета-выпуск
 (with id=180480413)
♻️ Deleting previously uploaded asset Fusion-2.5-Russian-Language-B1.zip...
⬆️ Uploading Fusion-2.5-Russian-Language-B1.zip...
🎉 Release ready at https://github.com/RushanM/Clickteam-Fusion-2.5-Russian-Language/releases/tag/B1
```

Почему экшен заменяет существующие выпуски? Он не должен этого делать. Он всегда должен создавать новые выпуски. Если вышел выпуск под тегом 1 или B1, он должен создать 2 или B2, но никак не заменять старый. И ещё экшен всё так же создаёт тег 1, хотя должен создавать тег 13 из-за наличия в репозитории тега 12. Исправь эти проблемы.