Исправление: обновлены ссылки на токены в Makefile и release.yml для CI/CD
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
# Создаёт аннотированный git-тег v2.1.0 и пушит его в origin.
|
||||
# Workflow запускается автоматически по событию push.tags.
|
||||
#
|
||||
# 2. make ci-release VERSION=2.1.0 GITEA_TOKEN=<токен>
|
||||
# 2. make ci-release VERSION=2.1.0 GIT_TOKEN=<токен>
|
||||
# Вызывает Gitea API (workflow_dispatch) — запускает вручную
|
||||
# без создания тега. Удобно для тестирования пайплайна.
|
||||
#
|
||||
@@ -30,8 +30,9 @@
|
||||
# НЕОБХОДИМАЯ НАСТРОЙКА:
|
||||
#
|
||||
# В настройках репозитория Gitea → Settings → Secrets добавить:
|
||||
# GITEA_TOKEN — токен с правами write:repository и write:release
|
||||
# (обычно автоматически инжектируется runner'ом)
|
||||
# GIT_TOKEN (рекомендуется) или GITEA_TOKEN — токен с правами
|
||||
# write:repository и write:release
|
||||
# (обычно автоматически инжектируется runner'ом)
|
||||
#
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
@@ -53,7 +54,7 @@ on:
|
||||
# ── Способ 2: запуск через make release-tag ───────────────────────────────
|
||||
push:
|
||||
tags:
|
||||
- "v[0-9]+.[0-9]+.[0-9]*"
|
||||
- "v*.*.*"
|
||||
|
||||
# ──────────────────────────────────────────────────────────────────────────────
|
||||
# Глобальные переменные окружения (доступны во всех jobs)
|
||||
@@ -244,8 +245,15 @@ jobs:
|
||||
# POST /api/v1/repos/{owner}/{repo}/releases/{id}/assets — загрузить файл
|
||||
- name: "Создание релиза в Gitea и загрузка файлов"
|
||||
env:
|
||||
GIT_TOKEN: ${{ secrets.GIT_TOKEN }}
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
run: |
|
||||
TOKEN="${GIT_TOKEN:-$GITEA_TOKEN}"
|
||||
if [ -z "${TOKEN}" ]; then
|
||||
echo "ОШИБКА: не задан секрет GIT_TOKEN (или GITEA_TOKEN)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GITEA_URL="${{ github.server_url }}"
|
||||
REPO="${{ github.repository }}"
|
||||
COMMIT="${{ github.sha }}"
|
||||
@@ -295,7 +303,7 @@ jobs:
|
||||
echo "Создаём релиз ${TAG}..."
|
||||
|
||||
RELEASE_JSON=$(curl -sf -X POST \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
"${GITEA_URL}/api/v1/repos/${REPO}/releases" \
|
||||
-d "{
|
||||
@@ -334,7 +342,7 @@ jobs:
|
||||
|
||||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
|
||||
-X POST \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
--data-binary @"${FILE}" \
|
||||
"${GITEA_URL}/api/v1/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${FILENAME}")
|
||||
|
||||
@@ -16,6 +16,7 @@ OUTPUT_DIR := ./result
|
||||
# Переопределить через env или CLI: make release-tag GITEA_URL=https://...
|
||||
GITEA_URL ?= https://github.dfv24.com
|
||||
GITEA_REPO ?= fofanov/genaudiobookinfo
|
||||
GIT_TOKEN ?=
|
||||
GITEA_TOKEN ?=
|
||||
|
||||
# ============================================================================
|
||||
@@ -486,25 +487,25 @@ release-tag-delete:
|
||||
$(info >>> Тег v$(VERSION) удалён.)
|
||||
|
||||
## Запустить CI/CD workflow вручную через Gitea API (без создания тега)
|
||||
## Использование: make ci-release VERSION=2.1.0 GITEA_TOKEN=<токен>
|
||||
## Использование: make ci-release VERSION=2.1.0 GIT_TOKEN=<токен>
|
||||
ifeq ($(OS),Windows_NT)
|
||||
ci-release:
|
||||
$(if $(GITEA_TOKEN),,$(error GITEA_TOKEN не задан. Используйте: make ci-release GITEA_TOKEN=<токен>))
|
||||
$(if $(or $(GIT_TOKEN),$(GITEA_TOKEN)),,$(error GIT_TOKEN (или GITEA_TOKEN) не задан. Используйте: make ci-release GIT_TOKEN=<токен>))
|
||||
$(info >>> Запуск CI/CD workflow для версии $(VERSION)...)
|
||||
Invoke-RestMethod -Method Post \
|
||||
-Uri '$(GITEA_URL)/api/v1/repos/$(GITEA_REPO)/actions/workflows/release.yml/dispatches' \
|
||||
-Headers @{ Authorization = 'token $(GITEA_TOKEN)'; 'Content-Type' = 'application/json' } \
|
||||
-Body '{"ref": "main", "inputs": {"version": "$(VERSION)"}}'
|
||||
-Headers @{ Authorization = 'token $(if $(GIT_TOKEN),$(GIT_TOKEN),$(GITEA_TOKEN))'; 'Content-Type' = 'application/json' } \
|
||||
-Body '{"ref": "master", "inputs": {"version": "$(VERSION)"}}'
|
||||
$(info >>> Workflow запущен. Статус: $(GITEA_URL)/$(GITEA_REPO)/actions)
|
||||
else
|
||||
ci-release:
|
||||
$(if $(GITEA_TOKEN),,$(error GITEA_TOKEN не задан. Используйте: make ci-release GITEA_TOKEN=<токен>))
|
||||
$(if $(or $(GIT_TOKEN),$(GITEA_TOKEN)),,$(error GIT_TOKEN (или GITEA_TOKEN) не задан. Используйте: make ci-release GIT_TOKEN=<токен>))
|
||||
$(info >>> Запуск CI/CD workflow для версии $(VERSION)...)
|
||||
curl -sf -X POST \
|
||||
-H "Authorization: token $(GITEA_TOKEN)" \
|
||||
-H "Authorization: token $(if $(GIT_TOKEN),$(GIT_TOKEN),$(GITEA_TOKEN))" \
|
||||
-H "Content-Type: application/json" \
|
||||
"$(GITEA_URL)/api/v1/repos/$(GITEA_REPO)/actions/workflows/release.yml/dispatches" \
|
||||
-d '{"ref": "main", "inputs": {"version": "$(VERSION)"}}' \
|
||||
-d '{"ref": "master", "inputs": {"version": "$(VERSION)"}}' \
|
||||
&& echo "Workflow запущен. Статус: $(GITEA_URL)/$(GITEA_REPO)/actions"
|
||||
endif
|
||||
|
||||
@@ -590,7 +591,7 @@ help:
|
||||
$(info make ci-check Проверить git-статус перед релизом)
|
||||
$(info make release-tag VERSION=X.Y.Z Создать тег и запустить CI автоматически)
|
||||
$(info make ci-release VERSION=X.Y.Z Запустить CI вручную через Gitea API)
|
||||
$(info GITEA_TOKEN=<токен> обязателен для ci-release)
|
||||
$(info GIT_TOKEN=<токен> (или GITEA_TOKEN) обязателен для ci-release)
|
||||
$(info make release-tag-delete VERSION=X.Y.Z Удалить ошибочный тег)
|
||||
$(info )
|
||||
$(info Wiki:)
|
||||
|
||||
Reference in New Issue
Block a user