6529 Desktop App supporting Windows, MacOS and Linux
This folder holds the code specific to ElectronJS
This is a subtree of 6529seize-frontend repository (https://github.com/6529-Collections/6529seize-frontend)
Checkout branch 'pull-web' and merge main into it (make sure your local main is up to date)
git checkout pull-web
git merge main
Run the following script to fetch new changes from branch 'main' of 6529seize-frontend repository
npm run pull-web
Renderer dependencies are installed from renderer/package.json.
After pulling frontend changes (or on a fresh clone), run:
npm run deps- start from latest
main - checkout branch
pull-web - merge
mainintopull-web - run
npm run pull-web - resolve conflicts
- run
npm run deps - update
tailwind.config.jswith any incoming changes fromrenderer/tailwind.config.js - update root
next.config.mjswith any related changes fromrenderer/next.config.mjsand delete filerenderer/next.config.mjs
Use:
npm run deps
npm run devor if running on a Windows machine:
npm run deps
npm run dev-winOptional dependency security check:
npm run audit-depsCI note: workflows intentionally use deterministic installs with npm ci and then npm run install-renderer-deps-ci.
⚠️ IMPORTANT: Before building and publishing a new version of the app, make sure to update the version inpackage.json.
If you skip this step, the previous version may be overwritten and theelectron-updaterwill not function correctly.
This project uses better-sqlite3
When changing between building different platforms, you need to rebuild this package first by running:
npm run rebuild-sql
Use the following steps to build for each platform:
Staging
npm run dist-win-staging-upload
Production
npm run dist-win-production-upload
The above commands will:
- build the project (renderer + electron-src)
- run
electron-builderwhich will create Windows related artifacts - upload artifacts to S3 at location
6529bucket/6529-staging-core-app/win-unsigned/or6529bucket/6529-core-app/win-unsigned/
Use Build All Platforms GitHub workflow
- Branch: select your branch
- Environment: select between Staging or Production
- Version: type version to build (must match the new version in package.json)
- Flow: Sign Windows
Staging
npm run dist-mac-staging
Production
npm run dist-mac-production
Packaged versions: arm64 (silicon), x64 (intel)
Use Build All Platforms GitHub workflow
- Branch: select your branch
- Environment: select between Staging or Production
- Version: type version to build (must match the new version in package.json)
- Flow: Linux
Once all 3 platforms are built, we publish the downloads links per platform / packaged version in html pages saved on S3. To do this use Use Build All Platforms GitHub workflow
- Branch: select your branch
- Environment: select between Staging or Production
- Version: type version to build (must match the new version in package.json)
- Flow: Publish
The above will extract the latest download links per platform and create html pages per platform for this new version on s3 in the following format:
https://d3lqz0a4bldqgf.cloudfront.net/6529-core-app/<os>/links/<version>.html
You should get 3 html links (one per platform) which can be shared on Brain in the 6529 Desktop Releases Wave.
Note: the above github workflow will create links both to s3 and arweave and add them to the htmls automatically.