mirror of
https://github.com/TencentCloud/Octop.git
synced 2026-10-23 06:50:19 +08:00
* feat(desktop): Octop 桌面客户端 (#462) * feat: add multi-platform green portable packaging Ship relocatable Octop-<plat>.zip via scripts/green (portable CPython, frozen uv.lock deps, Windows pywin32 DLL fix) and octop-portable.yml. No OOB overlay or product trimming; first run uses upstream setup. Co-authored-by: Harry <forcemeter@users.noreply.github.com> * feat(desktop): Wails v3 shell with green portable under ~/.octop Move green packaging to desktop/portable, add a Wails v3 client that downloads Octop-<plat>.zip, spawns launch.py with OCTOP_HOME=~/.octop, and exposes locale/theme/autostart/tray/macOS caffeinate settings. Green upgrades install into packages via OCTOP_GREEN_PACKAGES. Co-authored-by: Harry <forcemeter@users.noreply.github.com> * fix(desktop): add Wails v3 Taskfile and build/config.yml wails3 build/dev look for Taskfile.yml and build/config.yml in desktop/src. Un-ignore that tree from the repo-wide build/ gitignore. Co-authored-by: Harry <forcemeter@users.noreply.github.com> * 初始化桌面客户端 * add drag and toggle * add prevent sleep * update * change dock icon * clean package/useless files * add Attach zips to GitHub Release * pack file into windows bin-file * Packages a production app * chanage workflow name * chanage workflow name * linux package in single ifle * linux package in single ifle * 在浏览器中打开_blank 的链接 * upgrade python to 3.12 --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Harry <forcemeter@users.noreply.github.com> Co-authored-by: 杨树海 <yangshuhai@pdnews.cn> * ci: cascade desktop package on release and stop all-branch builds (#463) Auto Tag dispatches Octop Desktop with Release/Docker. Restrict octop-desktop.yml to v* tags + workflow_dispatch only. Co-authored-by: jubaoliang <jubaoliang@tencent.com> --------- Co-authored-by: Harry <56063441+forcemeter@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Harry <forcemeter@users.noreply.github.com> Co-authored-by: 杨树海 <yangshuhai@pdnews.cn> Co-authored-by: jubaoliang <jubaoliang@tencent.com>
50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Cross-build a Linux green zip inside Docker (native ABI for C extensions).
|
|
#
|
|
# Usage:
|
|
# bash desktop/portable/package-linux-docker.sh
|
|
# bash desktop/portable/package-linux-docker.sh linux-arm64
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
# shellcheck source=desktop/portable/_common.sh
|
|
source "${REPO_ROOT}/desktop/portable/_common.sh"
|
|
|
|
PLAT="${1:-linux-amd64}"
|
|
case "$PLAT" in
|
|
linux-amd64|linux-arm64) ;;
|
|
*)
|
|
echo "package-linux-docker.sh: expected linux-amd64 or linux-arm64, got ${PLAT}" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "docker is required for Linux cross-builds" >&2
|
|
exit 1
|
|
fi
|
|
|
|
IMAGE="${GREEN_LINUX_IMAGE:-python:3.12-bookworm}"
|
|
echo "[docker] image=${IMAGE} plat=${PLAT}" >&2
|
|
|
|
docker run --rm \
|
|
-e GREEN_HOST_PLAT="$PLAT" \
|
|
-e PBS_TAG="$PBS_TAG" \
|
|
-e PBS_PY="$PBS_PY" \
|
|
-e PBS_BASE_URL="${PBS_BASE_URL}" \
|
|
-e OCTOP_GREEN_OFFLINE="${OCTOP_GREEN_OFFLINE:-0}" \
|
|
-v "${REPO_ROOT}:/src" \
|
|
-w /src \
|
|
"$IMAGE" \
|
|
bash -lc "
|
|
set -euo pipefail
|
|
apt-get update -qq
|
|
apt-get install -y -qq curl zip ca-certificates >/dev/null
|
|
if ! command -v uv >/dev/null 2>&1; then
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
export PATH=\"\$HOME/.local/bin:\$PATH\"
|
|
fi
|
|
bash desktop/portable/bootstrap-runtime.sh '${PLAT}'
|
|
bash desktop/portable/package.sh '${PLAT}'
|
|
"
|