diff --git a/docs/releasing.md b/docs/releasing.md index 9737a27..c14688a 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -22,8 +22,10 @@ count. So a build reaches people only when you publish it, after testing it. the affected upload; it refuses ambiguous matches. The Linux build runs `scripts/check-appimage-launch.py` before upload. It starts the built x86_64 AppImage on an isolated Xvfb display, checks that - its bundled server answers, and checks that the server stops on exit. This - CI test does not test a physical display, FUSE mount or a headset. + its bundled server answers, and checks that the server stops on exit. The + check disables telemetry and update requests, and keeps extraction in its + temporary profile. This CI test does not test a physical display, FUSE mount + or a headset. 2. Download the draft's installers and test them. An installed copy of the previous version won't offer the draft, so install it directly. diff --git a/scripts/check-appimage-launch.py b/scripts/check-appimage-launch.py index 6aa1a1b..e801c06 100644 --- a/scripts/check-appimage-launch.py +++ b/scripts/check-appimage-launch.py @@ -45,13 +45,17 @@ def check(appimage): digest = hashlib.sha256(appimage.read_bytes()).hexdigest() with tempfile.TemporaryDirectory(prefix="frame-appimage-smoke-") as directory: profile = Path(directory) + (profile / "tmp").mkdir() env = dict(os.environ) env.update( APPIMAGE_EXTRACT_AND_RUN="1", ELECTRON_DISABLE_SANDBOX="1", + TMPDIR=str(profile / "tmp"), XDG_CONFIG_HOME=str(profile / "config"), XDG_CACHE_HOME=str(profile / "cache"), XDG_DATA_HOME=str(profile / "data"), FRAME_ALIAS="frame-control-appimage-smoke-no-headset", + FRAME_CONTROL_TELEMETRY="0", FRAME_CONTROL_NO_UPDATE_CHECK="1", + DO_NOT_TRACK="1", ) output = profile / "app.log" port = None