Release¶
This document holds information about building and publishing a new release.
Build¶
To locally build the project, run the following command.
This will transpile Javascript inside the /build
directory.
During the build, the string __VERSION__
inside a Javascript file is replace with the current commit hash.
The current version can be checked using vintner --version
.
Package¶
Warning
This only works on Linux.
To locally package the project, run the following command.
This will package the previously transpiled Javascript using pkg
and
generate binaries inside the /dist
directory.
The issue considering the failed bytecode generation of MiniSat is known and can be ignored in our case.
GitHub¶
Vintner is available as GitHub release.
On pushes to the main
branch, the Release workflow is triggered.
This workflow runs several tests, builds binaries, signs binaries, creates a new GitHub release, and deploys the documentation.
An already existing GitHub release and latest
tag is deleted.
There is only one release at total.
However, there is also the Build workflow. This workflow basically has the same steps as the Release workflow but does create his own GitHub release and does not deploy the docs.
NPM¶
Vintner is available as npm package opentosca-vintner
.
New versions are published manually.
To publish a new version, first update the version number in package.json
and then run
Docker¶
Vintner is available as Docker image on https://github.com/OpenTOSCA/opentosca-vintner/pkgs/container/opentosca-vintner. They are automatically build and pushed during the Release workflow.
Locally build the image as follows.
Choco¶
There is also a choco package opentosca-vintner
.
New versions are published manually.
See https://docs.chocolatey.org/en-us/create/create-packages-quick-start for more information.
First, log into the choco account.
Publish a new version as follows. This will use the latest release.
Zenodo¶
Vintner is available on Zenodo with unique DOI https://doi.org/10.5281/zenodo.10155277. New versions are published manually.
To publish a new version, run the Zenodo workflow on GitHub. This workflow will create a draft of a new version based on the latest GitHub release. The version must be manually published on Zenodo.