Skip to content

Conversation

@vitvakatu
Copy link
Contributor

@vitvakatu vitvakatu commented Oct 20, 2025

Pull Request Description

As of ef55bcc:

Linux app image build is working, with some differences:

  • JVM build of the engine, not native image
  • Engine distribution is missing data directories in projects, e.g. Examples are not available.
  • Version info is not correctly reported and in Engine and AppImage metadata.
  • THIRD-PARTY licensing files are missing from the distribution

Otherwise, it should be a perfectly working linux build of Enso.

Mac build works, but only unpacked (dmg image packaging is not available yet)

Windows build does not work.

Building the application

Don’t forget to pnpm install first!

Application can be build in two modes:

  • pnpm exec bazel build //app/electron-client:dist — uses production .env file, versions info reported from inside the app can be incorrect. This is considered a legacy mode, and eventually we will transition out of it (with more sane defaults).
  • pnpm exec bazel build --config=release //app/electron-client:dist — uses .env file that matches the NODE_ENV environment variable. The build should have correct version info in GUI. This is the inteded way of building the package.

Built application is available in bazel-bin/app/electron-client/ide-dist.

Important Notes

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • The documentation has been updated, if necessary.
  • Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.
  • Unit tests have been written where possible.
  • If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,
    or the Snowflake database integration, a run of the Extra Tests has been scheduled.
    • If applicable, it is suggested to paste a link to a successful run of the Extra Tests.

@vitvakatu vitvakatu self-assigned this Oct 20, 2025
@vitvakatu vitvakatu force-pushed the wip/vitvakatu/build-electron-package-12981 branch from bbacd4f to 41f4fee Compare October 21, 2025 16:07
@vitvakatu vitvakatu force-pushed the wip/vitvakatu/build-electron-package-12981 branch from 4607a47 to c416d5a Compare October 21, 2025 16:54
@vitvakatu vitvakatu force-pushed the wip/vitvakatu/build-electron-package-12981 branch from 32c5b7a to 0bf265f Compare October 21, 2025 20:57
@vitvakatu vitvakatu added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Oct 21, 2025
@vitvakatu vitvakatu added the CI: No changelog needed Do not require a changelog entry for this PR. label Oct 22, 2025
@vitvakatu vitvakatu marked this pull request as ready for review October 22, 2025 09:57
@vitvakatu vitvakatu changed the title Build electron package on Linux Build electron package on Linux with Bazel Oct 22, 2025
@vitvakatu
Copy link
Contributor Author

Application is broken at the moment because of recent ydoc changes, investigating.

@vitvakatu
Copy link
Contributor Author

Ydoc issue fixed

@vitvakatu
Copy link
Contributor Author

I consider this PR ready to merge. It has fewer features than we planned initially, but:

  1. It is not changing anything compared to develop
  2. It allows starting testing app packaging on Mac and Linux in the development environment, and also provides useful feedback for testing engine distribution in Bazel.

@Frizi, please review the code. Most comments will likely be extracted to the TODO list and addressed separately.

The current TODO list is available at #12860

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

Labels

CI: Clean build required CI runners will be cleaned before and after this PR is built. CI: No changelog needed Do not require a changelog entry for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants