Files
privacy.sexy/tests/checks/desktop-runtime-errors/check-desktop-runtime-errors
undergroundwires 0a2a1a026b Refactor build configs and improve CI/CD checks
This commit makes the build process more robust, simplifies
configurations and reduce the risk of incomplete or erroneous
deployments.

- Centralize output directory definitions by introducing
  `dist-dirs.json`.
- Add `verify-build-artifacts` utility to ensure correct build outputs
  and `print-dist-dir` to determine distribution directory.
- Add steps in CI/CD pipeline to verify build artifacts.
- Migrate Electron Builder config from YAML to CJS for capability to
  read JSON.
- Fix `release-site.yaml` failing due to pointing to wrong distribution
  directory, change it to use `print-dist-dir`.
- Improve `check-desktop-runtime-errors` to verify build artifacts for
  more reliable builds. Ensure tests fail and succeed reliably.
- Update `.gitignore` and configure ESLint to use it to define and
  ignore build artifact directories from one place, remove
  `.eslintignore` that does not add anything after this change.
- Keep `"main"` field in `package.json` as `electron-vite` depends on it
  (alex8088/electron-vite#270).
- Improve documentation
2023-09-03 14:50:31 +02:00
..

check-desktop-runtime-errors

This script automates the processes of:

  1. Building
  2. Packaging
  3. Installing
  4. Executing
  5. Verifying Electron distributions

It runs the application for a duration and detects runtime errors in the packaged application via:

  • Log verification: Checking application logs for errors and validating successful application initialization.
  • stderr monitoring: Continuous listening to the stderr stream for unexpected errors.
  • Window title inspection: Checking for window titles that indicate crashes before logging becomes possible.

Upon error, the script captures a screenshot (if --screenshot is provided) and terminates.

Options

  • --build: Clears the electron distribution directory and forces a rebuild of the Electron app.
  • --screenshot: Takes a screenshot of the desktop environment after running the application.

This module provides utilities for building, executing, and validating Electron desktop apps. It can be used to automate checking for runtime errors during development.

Configs

Configurations are defined in config.ts.