chore(release): prepare 2.0.0-Beta.2 build 20260924
Integrate the reviewed 2.0 PRs and local fixes from 03136853. Preserve the verified subtitle behavior and model/runtime corrections. Keep the numeric Beta tag compatible with released clients while exposing the date as application build metadata. Co-authored-by: DepengWang <2818245+DepengWang@users.noreply.github.com> Co-authored-by: HKLHaoBin <we3q@qq.com> Co-authored-by: Nahida <1139500183@qq.com> Co-authored-by: TRIP <1933142963@qq.com> Co-authored-by: chyuwei <weichangyuwcy@gmail.com> Co-authored-by: leonoxo <leonoxo@gmail.com> Co-authored-by: tayir <arnoldincredible@126.com>
This commit is contained in:
1 parent
a8ebcf6ffa
commit
16c3f841b5
261 files changed
+618156
-4281
No files matched your search
@@ -0,0 +1,16 @@
|
||||
name: Linux egui build and backend checks
|
||||
on:
|
||||
pull_request:
|
||||
branches: [beta]
|
||||
paths:
|
||||
- 'openless-all/app/**'
|
||||
- 'openless-all/scripts/linux-*/**'
|
||||
- '.github/workflows/*linux-egui.yml'
|
||||
push:
|
||||
branches: [Linux-egui]
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
native:
|
||||
uses: ./.github/workflows/release-linux-egui.yml
|
||||
@@ -40,6 +40,7 @@ jobs:
|
||||
appstream \
|
||||
build-essential \
|
||||
cmake \
|
||||
clang \
|
||||
desktop-file-utils \
|
||||
extra-cmake-modules \
|
||||
fcitx5-modules-dev \
|
||||
@@ -51,6 +52,11 @@ jobs:
|
||||
libfcitx5core-dev \
|
||||
libfcitx5utils-dev \
|
||||
libopenblas-dev \
|
||||
libkf5globalaccel-dev \
|
||||
qtbase5-dev \
|
||||
libatspi2.0-dev \
|
||||
pulseaudio-utils \
|
||||
fonts-noto-cjk \
|
||||
libssl-dev \
|
||||
libwayland-dev \
|
||||
libx11-dev \
|
||||
@@ -76,8 +82,28 @@ jobs:
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
toolchain: '1.94.0'
|
||||
components: clippy
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
cache-dependency-path: openless-all/app/package-lock.json
|
||||
|
||||
- name: Build React baseline and generate native locale catalog
|
||||
working-directory: openless-all/app
|
||||
run: |
|
||||
npm ci
|
||||
npm run build
|
||||
node ../scripts/sync-egui-locales.mjs
|
||||
|
||||
- name: Build GNOME and KDE desktop integration
|
||||
run: |
|
||||
node openless-all/scripts/linux-desktop/gnome/build.mjs
|
||||
cmake -S openless-all/scripts/linux-desktop/kde -B openless-all/scripts/linux-desktop/kde/build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build openless-all/scripts/linux-desktop/kde/build --parallel
|
||||
|
||||
- name: Cache Cargo
|
||||
uses: swatinem/rust-cache@v2
|
||||
with:
|
||||
@@ -104,18 +130,19 @@ jobs:
|
||||
|
||||
- name: Verify framework-independent Linux contract
|
||||
working-directory: openless-all/app
|
||||
shell: pwsh
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cargo test --locked -p openless-core
|
||||
cargo clippy --locked -p openless-core --all-targets -- -D warnings
|
||||
cargo test --locked -p openless-linux-egui --all-targets
|
||||
cargo test --locked -p openless-linux-egui --lib --test host_contract
|
||||
cargo check --locked -p openless-linux-egui --all-targets
|
||||
./scripts/check-core-deps.ps1
|
||||
./scripts/check-core-deps.ps1 openless-linux-egui
|
||||
./scripts/check-core-secret-surface.ps1
|
||||
./scripts/check-core-test-isolation.ps1
|
||||
./scripts/check-core-runtime-seam.ps1
|
||||
./scripts/check-linux-public-surface.ps1
|
||||
pwsh -NoProfile -File ./scripts/check-core-deps.ps1
|
||||
pwsh -NoProfile -File ./scripts/check-core-deps.ps1 openless-linux-egui
|
||||
pwsh -NoProfile -File ./scripts/check-core-secret-surface.ps1
|
||||
pwsh -NoProfile -File ./scripts/check-core-test-isolation.ps1
|
||||
pwsh -NoProfile -File ./scripts/check-core-runtime-seam.ps1
|
||||
pwsh -NoProfile -File ./scripts/check-linux-public-surface.ps1
|
||||
|
||||
- name: Validate release target and UI gate
|
||||
shell: bash
|
||||
@@ -172,27 +199,7 @@ jobs:
|
||||
|
||||
- name: Verify package contents and ELF dependencies
|
||||
working-directory: openless-all/app
|
||||
run: |
|
||||
OUTPUT=target/linux-egui-packages
|
||||
test "$(find "$OUTPUT" -maxdepth 1 -name '*.deb' | wc -l)" -eq 1
|
||||
test "$(find "$OUTPUT" -maxdepth 1 -name '*.rpm' | wc -l)" -eq 1
|
||||
test "$(find "$OUTPUT" -maxdepth 1 -name '*.AppImage' | wc -l)" -eq 1
|
||||
! ldd target/release/openless-linux-egui | grep -q 'not found'
|
||||
! ldd target/release/openless-linux-egui | grep -Eqi 'webkit|wry|tauri'
|
||||
! ldd src-tauri/vendor/qwen-asr/qwen_asr | grep -q 'not found'
|
||||
dpkg-deb -c "$OUTPUT"/*.deb | grep -q 'usr/bin/openless'
|
||||
dpkg-deb -c "$OUTPUT"/*.deb | grep -q 'fcitx5/libopenless.so'
|
||||
dpkg-deb -c "$OUTPUT"/*.deb | grep -q 'usr/lib/openless/resources/qwen-asr/qwen_asr'
|
||||
rpm -qlp "$OUTPUT"/*.rpm | grep -q '/usr/bin/openless'
|
||||
rpm -qlp "$OUTPUT"/*.rpm | grep -q '/usr/lib64/fcitx5/libopenless.so'
|
||||
rpm -qlp "$OUTPUT"/*.rpm | grep -q '/usr/lib/openless/resources/qwen-asr/qwen_asr'
|
||||
"$OUTPUT"/*.AppImage --appimage-extract >/dev/null
|
||||
test -x squashfs-root/usr/bin/openless
|
||||
test -s squashfs-root/usr/lib/openless/resources/linux-fcitx5-plugin/libopenless.so
|
||||
test -x squashfs-root/usr/lib/openless/resources/qwen-asr/qwen_asr
|
||||
! ldd squashfs-root/usr/lib/openless/resources/qwen-asr/qwen_asr | grep -q 'not found'
|
||||
squashfs-root/usr/lib/openless/resources/qwen-asr/qwen_asr --help >/dev/null 2>&1
|
||||
rm -rf squashfs-root
|
||||
run: bash scripts/verify-linux-egui-packages.sh
|
||||
|
||||
- name: Sign AppImage and write independent updater manifest
|
||||
working-directory: openless-all/app
|
||||
|
||||
Reference in new issue
Block a user