From 6f858814ce15d5169e933029555ab170175aa6e2 Mon Sep 17 00:00:00 2001 From: svk Date: Thu, 22 Jan 2026 21:36:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D1=81=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yml | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 8544f45..450f51d 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -82,20 +82,23 @@ jobs: if echo "$RESPONSE" | grep -q '"id"'; then REL_ID=$(echo "$RESPONSE" | grep -o '"id":[0-9]*' | cut -d: -f2) - echo "Релиз уже существует. ID: $REL_ID" + echo "Реліз уже существует. ID: $REL_ID" echo "RELEASE_EXISTS=true" >> $GITEA_ENV - # Используем метод записи через echo без >> для числовых значений - echo "REL_ID=${REL_ID}" >> $GITEA_ENV + # Сохраняем REL_ID в файл, а не в $GITEA_ENV + echo "$REL_ID" > /tmp/rel_id.txt else - echo "Релиз не существует" + echo "Реліз не существует" echo "RELEASE_EXISTS=false" >> $GITEA_ENV - echo "REL_ID=" >> $GITEA_ENV + echo "" > /tmp/rel_id.txt fi - name: Создание или обновление релиза id: create_release run: | + # Читаем REL_ID из файла + REL_ID=$(cat /tmp/rel_id.txt 2>/dev/null || echo "") + echo "=== Работа с релизом для тега $TAG ===" RELEASE_BODY="## Projman $VERSION @@ -111,7 +114,7 @@ jobs: # Экранируем переносы строк для JSON ESCAPED_BODY=$(echo "$RELEASE_BODY" | sed ':a;N;$!ba;s/\n/\\n/g') - if [ "$RELEASE_EXISTS" = "true" ]; then + if [ "$RELEASE_EXISTS" = "true" ] && [ -n "$REL_ID" ]; then echo "Обновляем существующий релиз ID: $REL_ID" # Обновляем существующий релиз @@ -128,6 +131,9 @@ jobs: echo "Ответ обновления релиза: $RESPONSE" + # Сохраняем ID для следующего шага + echo "$REL_ID" > /tmp/rel_id.txt + else echo "Создаем новый релиз" @@ -150,16 +156,24 @@ jobs: if echo "$RESPONSE" | grep -q '"id"'; then NEW_REL_ID=$(echo "$RESPONSE" | grep -o '"id":[0-9]*' | cut -d: -f2) echo "Новый ID релиза: $NEW_REL_ID" - echo "REL_ID=${NEW_REL_ID}" >> $GITEA_ENV + echo "$NEW_REL_ID" > /tmp/rel_id.txt else echo "ОШИБКА: Не удалось получить ID релиза из ответа" - echo "REL_ID=" >> $GITEA_ENV + echo "" > /tmp/rel_id.txt + exit 1 fi fi - name: Загрузка файлов в релиз - if: env.REL_ID != '' run: | + # Читаем REL_ID из файла + REL_ID=$(cat /tmp/rel_id.txt 2>/dev/null || echo "") + + if [ -z "$REL_ID" ]; then + echo "Нет ID релиза, пропускаем загрузку файлов" + exit 0 + fi + echo "=== Загрузка файлов в релиз ===" echo "ID релиза для загрузки: $REL_ID" @@ -187,6 +201,9 @@ jobs: - name: Финализация run: | + # Читаем REL_ID из файла + REL_ID=$(cat /tmp/rel_id.txt 2>/dev/null || echo "") + echo "=== Сборка завершена ===" echo "Тег: $TAG" echo "Версия: $VERSION"