Release 1.0.7: Linux AppImage (x64/arm64) CI, merge update feed, docs
Release / release (push) Failing after 7m3s
Release / release (push) Failing after 7m3s
- electron-builder linux + qemu cross arm64 on ubuntu-22.04 job - sync-update-feed: merge copy, ARTIFACT_LINUX, .appimage - GITEA_AUTO_UPDATE + MANUAL_MAC_UPDATE_UPLOAD Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Метки runs-on = labels твоих act_runner (Админка Gitea → Действия → Раннеры).
|
||||
# Не используем windows-latest/macos-latest — это только GitHub-hosted.
|
||||
# По умолчанию: одна Linux-сборка Win+NSIS (Wine). macOS — когда будет раннер (см. комментарий в build-macos).
|
||||
# По умолчанию: один job на ubuntu-22.04 — Win (Wine+NSIS), Linux AppImage (x64+arm64), sync в updates без затирания других ОС.
|
||||
#
|
||||
# Один job без actions/upload-artifact: официальный upload-artifact@v4 с GitHub на Gitea
|
||||
# падает (GHESNotSupportedError). Сборка и sync-update-feed идут в одном окружении.
|
||||
@@ -67,6 +67,47 @@ jobs:
|
||||
|
||||
- run: npm ci
|
||||
|
||||
- run: npm run build
|
||||
|
||||
# Linux AppImage (x64 + arm64) до подмешивания win32-sharp в node_modules.
|
||||
- name: Зависимости Linux AppImage и кросс-сборка arm64 на amd64
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
qemu-user-static \
|
||||
binfmt-support \
|
||||
desktop-file-utils \
|
||||
squashfs-tools
|
||||
|
||||
- name: electron-builder (linux AppImage x64, arm64)
|
||||
shell: bash
|
||||
env:
|
||||
DND_UPDATE_FEED_URL: ${{ secrets.DND_UPDATE_FEED_URL }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [[ -z "${DND_UPDATE_FEED_URL:-}" ]]; then
|
||||
echo "Secret DND_UPDATE_FEED_URL is not set (URL со слэшем в конце)" >&2
|
||||
exit 1
|
||||
fi
|
||||
npx electron-builder --linux AppImage --x64 --arm64 --publish never \
|
||||
--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
|
||||
@@ -80,8 +121,6 @@ jobs:
|
||||
test -f node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node
|
||||
rm -rf "$tmp"
|
||||
|
||||
- run: npm run build
|
||||
|
||||
- name: electron-builder (win)
|
||||
shell: bash
|
||||
env:
|
||||
@@ -120,6 +159,7 @@ jobs:
|
||||
DND_UPDATES_PUSH_TOKEN: ${{ secrets.DND_UPDATES_PUSH_TOKEN }}
|
||||
ARTIFACT_WIN: ${{ github.workspace }}/_win
|
||||
ARTIFACT_MAC: ${{ github.workspace }}/_mac
|
||||
ARTIFACT_LINUX: ${{ github.workspace }}/_linux
|
||||
GIT_COMMIT_TAG: ${{ github.ref_name }}
|
||||
run: node scripts/sync-update-feed.mjs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user