-
-
Notifications
You must be signed in to change notification settings - Fork 113
Development
You can download the nightly builds of the current main branch.
You can build the application using this repository.
Install a compiler and Python setuptools, for example:
# Debian/Ubuntu
apt install build-essential python3-setuptools libnss3
# MacOS
brew install bash python3-setuptools
# Windows
winget install Microsoft.VisualStudio.2022.Community Python.Python.3.13
& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe'
# then install required components
Use NVM or mise-en-place or windows-nvm to install the required Node.js version.
From the root of this repository:
nvm install
# or
mise install
# or
winget install CoreyButler.NVMforWindows
nvm install 22.14.0
nvm use 22.14.0
Install Pnpm:
corepack install
# or
curl -fsSL https://get.pnpm.io/install.sh | sh -
# or
winget install pnpm.pnpm
pnpm i
pnpm build
pnpm build:app dir
# note: on Windows build:app must be ran in elevated mode
Run it from the directory:
pnpm start
You can build arm64 binary on Linux amd64 or amd64 binary on MacOS arm64.
On Linux, install cross-compiler (macOS includes this by default):
# Debian/Ubuntu
apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
Then set the environment with support for other architectures:
# Debian/Ubuntu
export CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
export DOWNLOAD_ALL_ARCHITECTURES=true
# MacOS
export DOWNLOAD_ALL_ARCHITECTURES=true
And rebuild binary packages for the foreign architecture:
# Debian/Ubuntu
pnpm electron-rebuild -a arm64
# MacOS
pnpm electron-rebuild -a x64
Finally, generate binary packages:
# Debian/Ubuntu
pnpm build:app AppImage deb --arm64
# MacOS
pnpm build:app dmg pkg --x64
To run the app in developer mode:
pnpm dev
This application uses additional components hosted in separate repositories:
It bundles binaries for:
The Renovate bot keeps the versions up-to-date.
The Automated kubectl versions workflow updates the list of the latest kubectl patch versions for each minor version.
Additional repositories for distributing packages:
The Automated npm version workflow prepares a new PR for semantic versioning. After the PR is merged, the Release workflow handles the release process:
- Prepares a new draft release.
- Builds and notarizes binaries for each supported OS and architecture.
- Finalizes the new release.
- Publishes NPM packages.
- Adds the indexes for APT repository.