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
# MacOS
brew install bash python3-setuptools
Use NVM or mise-en-place to install the required Node.js version.
From the root of this repository:
nvm install
# or
mise install
npm ci
npm run build
npm run build:app
At this point, for example on Windows, simply go to the
"freelens\freelens\dist\win-unpacked" directory and run Freelens.exe
.
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 rebuild binary modules and build with support for all architectures:
# Debian/Ubuntu
env CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ npm run rebuild -- -- -a arm64
env DOWNLOAD_ALL_ARCHITECTURES=true npm run build
# MacOS
npm run rebuild -- -- -a arm64
env DOWNLOAD_ALL_ARCHITECTURES=true npm run build
Finally, generate binary packages:
# Debian/Ubuntu
npm run build:app -- -- -- AppImage deb --publish never --arm64
# MacOS
npm run build:app -- -- -- dmg pkg --publish never --x86
To run the app in developer mode:
npm run start-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.