Warning

This version of the documentation is NOT an official release. You are reading the documentation version which is in active and ongoing development. You can change versions on the bottom left of the screen.

Build and publish

Currently, we build NEST Desktop for multiple targets and publish them on various platforms. Some are discussed below.

Note

Please be aware that a lot of steps are already covered by our GitLab CI process. Therefore, we recommend to inspect the .yml files together with this chapter. It might also be helpful to have a look at the commands defined in project.json.

Python Package Index (PyPI)

PyPI

Building and pushing NEST Desktop on PyPI is a required step for the production. After that, Docker Hub can upgrade NEST Desktop in the provided Docker image.

Requirements
  • setuptools, wheel, twine

The Python Package Index nest-desktop includes an executive command nest-desktop and a Python library nest_desktop.


Build

The current working directory is nest-desktop.

The building phase contains two steps: First, build a package of NEST Desktop using vue-cli-service.

Initially, you have to upgrade the version of nest-desktop in:

  • packages.json

  • nest_desktop/__init__.py

Then generate the app package using yarn. It builds the folder nest_desktop/app:

yarn build

The second step is to build a pip package for PyPI:

rm -rf build/ dist/ nest_desktop.egg-info/

Then generate the distribution packages of nest-desktop for PyPI:

python3 setup.py sdist bdist_wheel

Upload

Finally, the package is ready for the the publication. You can upload the pip-package of nest-desktop to PyPI:

python3 -m twine upload dist/*

Do not forget to commit the changes you made and set a new version tag in git.

git tag -a v3.0 -m 'v3.0.0'
git push --tags

Electron and Snap

In package.json, there are also yarn commands configured to build an Electron app. If you want to build a Snap package, please have a look into .gitlab-ci.yml.