fix(ci): reduce disk use for update feed sync (rename, tmp root, fetch retries)
Release / release (push) Failing after 8m46s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-05-12 11:27:02 +08:00
parent e923de350d
commit 064592d4d4
5 changed files with 88 additions and 44 deletions
+9 -31
View File
@@ -94,20 +94,6 @@ jobs:
--config.publish.provider=generic \
--config.publish.url="${DND_UPDATE_FEED_URL}"
- name: Каталог артефактов для feed (_linux)
shell: bash
run: |
mkdir -p _linux
shopt -s nullglob || true
for f in release/*; do
[[ -f "$f" ]] || continue
base=$(basename "$f")
case "$base" in
latest-linux.yml|*.yaml|*.AppImage|*.appimage|*.blockmap) cp -v "$f" _linux/ ;;
esac
done
ls -la _linux
# Не используем `npm install`: на Linux npm падает с EBADPLATFORM для win32-пакета.
- name: sharp (@img/sharp-win32-x64) для Windows-артефакта при сборке на Linux
shell: bash
@@ -135,33 +121,25 @@ jobs:
--config.publish.provider=generic \
--config.publish.url="${DND_UPDATE_FEED_URL}"
- name: Каталог артефактов для feed (_win)
shell: bash
run: |
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" _win/ ;;
esac
done
ls -la _win
# Артефакты читает sync напрямую из release/ (без дублирующих _win/_linux — меньше ENOSPC).
- name: Пустой каталог mac (пока нет сборки mac в CI)
run: mkdir -p _mac
- name: Push в публичный репозиторий updates
shell: bash
env:
DND_UPDATES_SERVER: ${{ secrets.DND_UPDATES_SERVER }}
UPDATES_REPO: ${{ secrets.UPDATES_REPO }}
DND_UPDATES_PUSH_TOKEN: ${{ secrets.DND_UPDATES_PUSH_TOKEN }}
ARTIFACT_WIN: ${{ github.workspace }}/_win
ARTIFACT_WIN: ${{ github.workspace }}/release
ARTIFACT_MAC: ${{ github.workspace }}/_mac
ARTIFACT_LINUX: ${{ github.workspace }}/_linux
ARTIFACT_LINUX: ${{ github.workspace }}/release
DND_FEED_TMP_ROOT: ${{ github.workspace }}/.dnd-feed-tmp
GIT_COMMIT_TAG: ${{ github.ref_name }}
run: node scripts/sync-update-feed.mjs
run: |
set -euo pipefail
mkdir -p "${{ github.workspace }}/.dnd-feed-tmp" "${{ github.workspace }}/_mac"
node scripts/sync-update-feed.mjs
# Когда появится macOS-раннер: отдельный job build-macos, копирование eb-mac в _mac перед sync
# или расширить шаг «Каталог артефактов»; сейчас всё в одном job `release`.