ci: single release job, drop GitHub upload-artifact on Gitea
Release / release (push) Successful in 4m32s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-05-11 23:13:51 +08:00
parent 06ffe9bb29
commit cd1f6dcc7e
2 changed files with 17 additions and 35 deletions
+15 -33
View File
@@ -4,6 +4,9 @@
# Не используем windows-latest/macos-latest — это только GitHub-hosted.
# По умолчанию: одна Linux-сборка Win+NSIS (Wine). macOS — когда будет раннер (см. комментарий в build-macos).
#
# Один job без actions/upload-artifact: официальный upload-artifact@v4 с GitHub на Gitea
# падает (GHESNotSupportedError). Сборка и sync-update-feed идут в одном окружении.
#
# Secrets: DND_UPDATE_FEED_URL, DND_UPDATES_SERVER, UPDATES_REPO, DND_UPDATES_PUSH_TOKEN — docs/GITEA_AUTO_UPDATE.md
name: Release
@@ -17,8 +20,7 @@ env:
CSC_IDENTITY_AUTO_DISCOVERY: 'false'
jobs:
# Сборка Windows-установщика на Linux (типичный self-hosted Gitea без облачных раннеров).
build-windows:
release:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
@@ -81,50 +83,23 @@ jobs:
--config.publish.provider=generic \
--config.publish.url="${DND_UPDATE_FEED_URL}"
- name: Собрать артефакты win
- name: Каталог артефактов для feed (_win)
shell: bash
run: |
mkdir -p _artifact_win
mkdir -p _win
shopt -s nullglob || true
for f in release/*; do
[[ -f "$f" ]] || continue
base=$(basename "$f")
case "$base" in
*.yml|*.yaml|*.exe|*.blockmap|*.zip) cp -v "$f" _artifact_win/ ;;
*.yml|*.yaml|*.exe|*.blockmap|*.zip) cp -v "$f" _win/ ;;
esac
done
ls -la _artifact_win
- uses: actions/upload-artifact@v4
with:
name: eb-win
path: _artifact_win/
# Когда появится macOS-раннер: раскомментируй job и выставь runs-on под метку раннера;
# в publish-update-feed добавь needs: [build-windows, build-macos] и download eb-mac.
#
# build-macos:
# runs-on: macos-14
# steps: ...
publish-update-feed:
runs-on: ubuntu-22.04
needs: [build-windows]
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eb-win
path: _win
ls -la _win
- name: Пустой каталог mac (пока нет сборки mac в CI)
run: mkdir -p _mac
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: Push в публичный репозиторий updates
env:
DND_UPDATES_SERVER: ${{ secrets.DND_UPDATES_SERVER }}
@@ -134,3 +109,10 @@ jobs:
ARTIFACT_MAC: ${{ github.workspace }}/_mac
GIT_COMMIT_TAG: ${{ github.ref_name }}
run: node scripts/sync-update-feed.mjs
# Когда появится macOS-раннер: отдельный job build-macos, копирование eb-mac в _mac перед sync
# или расширить шаг «Каталог артефактов»; сейчас всё в одном job `release`.
#
# build-macos:
# runs-on: macos-14
# steps: ...