diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 673be85..69f78d6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: inputs: ref: - description: "Ветка или тег: main = как на Forgejo; v1.7.0 = тег. Не путать с 1.7.0 без v." + description: "main, v1.7.0 или 1.7.0 (без v подставится автоматически)." required: true default: "main" @@ -18,9 +18,17 @@ jobs: steps: - name: Определить ревизию id: pick + env: + RAW_REF: ${{ inputs.ref }} run: | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - echo "ref=${{ inputs.ref }}" >> "$GITHUB_OUTPUT" + R=$(printf '%s' "$RAW_REF" | tr -d '\r\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + # Теги в git: v1.7.0; если ввели 1.7.0 — подставляем v (иначе checkout не находит ref). + if echo "$R" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then + echo "::notice::Указано $R без префикса v — деплой на v${R}" + R="v${R}" + fi + echo "ref=$R" >> "$GITHUB_OUTPUT" else echo "ref=${{ github.ref_name }}" >> "$GITHUB_OUTPUT" fi diff --git a/docs/CICD.md b/docs/CICD.md index a4583bb..eeb002d 100644 --- a/docs/CICD.md +++ b/docs/CICD.md @@ -92,7 +92,7 @@ curl -s http://127.0.0.1:8080/health ## Откат версии (простой процесс) 1. В Forgejo: **Actions → Deploy → Run workflow**. -2. В поле **ref** указать **старый тег**, например `v1.4.1`. +2. В поле **ref** указать **старый тег** (`v1.4.1` или для удобства просто `1.4.1` — workflow добавит `v`). 3. Запустить. На сервере выполнится `checkout` и `reset` на этот ref, затем `docker compose build && up -d`. Убедитесь, что старый тег есть в `origin` (`git push --tags` не удалялся).