Skip to content

workflows/app.yml: Verify binaries that are built in CI run in CI too#4784

Open
illume wants to merge 6 commits intokubernetes-sigs:mainfrom
illume:verify-binaries
Open

workflows/app.yml: Verify binaries that are built in CI run in CI too#4784
illume wants to merge 6 commits intokubernetes-sigs:mainfrom
illume:verify-binaries

Conversation

@illume
Copy link
Contributor

@illume illume commented Feb 25, 2026

Summary

Verifies the built app binaries run in CI (Mac, Linux, Windows).

Just basic checks for now, one artifact for each platform. Check the file is there, opens, runs backend, runs app.

Changes

  • app/scripts: Add verify-build-windows.ps1 script
  • app/scripts: Add verify-build-mac.sh for verifying mac builds
  • app/scripts: Add verify-build-linux.sh for verifying linux builds
  • package.json: app/package.json: Add verify-build-* scripts
  • .github/workflows/app.yml: Verify app builds in CI
  • app/README.md: docs/development: Document verify builds

Screenshots

In each app build CI job:

Mac

image

Windows

Screenshot 2026-02-25 at 10 47 20

Linux

Screenshot 2026-02-25 at 10 48 08

Steps to Test

Mainly the tests are useful in CI, to make sure we're generating binaries that run:

  • The tests run in CI, to verify app builds are built and run. Check app jobs that verification of running is successful.

Manual testing.

  1. Package the desktop app: npm run app:package (creates packaged artifacts in app/dist/)
  2. Run verification from repository root:
    • Linux: npm run app:verify-build-linux
    • Windows: npm run app:verify-build-windows
    • Mac: npm run app:verify-build-mac
  3. Verify console output shows artifact checks, backend version validation, and app execution tests
  4. Confirm all verifications pass with [PASS] or markers

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: illume

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 25, 2026
@k8s-ci-robot k8s-ci-robot requested a review from skoeva February 25, 2026 13:29
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Feb 25, 2026
@illume illume added release Related to releasing app quality Related to improving the quality of the app CI Issue related to CI labels Feb 25, 2026
@illume illume requested a review from Copilot February 25, 2026 13:34
@illume illume changed the title verify binaries workflows/app.yml: Verify binaries that are built in CI run in CI too Feb 25, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a lightweight “verify built binaries run” smoke test for the Electron app across Linux/macOS/Windows, and wires it into CI so packaging regressions are caught early.

Changes:

  • Introduces platform-specific build verification scripts under app/scripts/ (Linux/macOS shell scripts, Windows PowerShell).
  • Exposes those scripts via new verify-build-* npm scripts (both at app/ level and repo root convenience wrappers).
  • Updates the GitHub Actions app workflow to run verification after packaging, and documents usage in developer docs.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package.json Adds root-level wrappers to run app build verification scripts from repo root.
app/package.json Adds verify-build-{linux,mac,windows} scripts that invoke the new verifier scripts.
app/scripts/verify-build-linux.sh Verifies Linux artifacts exist, extracts tarball, checks backend --version, runs list-plugins.
app/scripts/verify-build-mac.sh Verifies DMG/app bundle, checks backend --version, runs list-plugins with a timeout tolerant of CI headless hangs.
app/scripts/verify-build-windows.ps1 Verifies .exe installer, checks backend --version, runs Headlamp.exe list-plugins.
.github/workflows/app.yml Runs the new verification steps after each platform build job.
docs/development/index.md Documents the new verification commands and expected behavior (esp. macOS timeout note).
app/README.md Documents the new app-level verification scripts and what they check.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 25, 2026
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 26, 2026
@illume
Copy link
Contributor Author

illume commented Feb 26, 2026

Rebased against main to fix git conflict.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app approved Indicates a PR has been approved by an approver from all required OWNERS files. CI Issue related to CI cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. quality Related to improving the quality of the app release Related to releasing size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants