mirror of
https://github.com/aaddrick/claude-desktop-debian.git
synced 2026-05-17 00:26:21 +03:00
The AppImage artifact test only validated package structure (extraction, AppDir layout, asar contents) — runtime regressions like frame-fix-wrapper syntax errors, bad asar patches, or Electron startup crashes silently passed CI. The .deb path already ran `--doctor` as a smoke check; the AppImage path now has parity plus a 10s headless launch under Xvfb. `setsid` + `kill -- -PGID` is load-bearing: xvfb-run's EXIT trap leaks Xvfb on signal kill, so running the whole stack in its own process group lets the teardown reap xvfb-run, Xvfb, dbus, AppRun, electron, and zygote children together. `procps` (for pkill), `dbus-x11`, and `xvfb` added to the CI apt line. The headless probe catches main-process startup failures only — GPU / renderer-process crashes like #583 leave the main process alive and pass this check; that scope disclaimer is inlined at test-artifact-appimage.sh lines 114-117 so future contributors don't try to claim #583 coverage by switching Xvfb off. Co-authored-by: Sum Abiut <sabiut@users.noreply.github.com>
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
name: Test Build Artifacts (Reusable)
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-artifact:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- format: deb
|
|
artifact: package-amd64-deb
|
|
container: ""
|
|
- format: rpm
|
|
artifact: package-amd64-rpm
|
|
container: "fedora:42"
|
|
- format: appimage
|
|
artifact: package-amd64-appimage
|
|
container: ""
|
|
|
|
name: Validate ${{ matrix.format }} package
|
|
runs-on: ubuntu-latest
|
|
container: ${{ matrix.container || '' }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
|
|
with:
|
|
name: ${{ matrix.artifact }}
|
|
path: artifacts/
|
|
|
|
- name: Install test dependencies (Fedora)
|
|
if: matrix.format == 'rpm'
|
|
run: dnf install -y findutils file nodejs npm
|
|
|
|
- name: Install test dependencies (Ubuntu)
|
|
if: matrix.format != 'rpm'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y file libfuse2 nodejs npm \
|
|
xvfb dbus-x11 procps
|
|
|
|
- name: Run artifact tests
|
|
run: |
|
|
chmod +x tests/test-artifact-${{ matrix.format }}.sh
|
|
tests/test-artifact-${{ matrix.format }}.sh artifacts/
|