We use semantic versions for Nuvolaris releases.
Releases are in form MAJOR.MINOR.PATCH
, for example 0.1.2
Prerelease are in form MAJOR.MINOR.PATCH-MILESTONE.DATETAG
where the DATETAG
is generated by the command date +%y%m%d%H
, for example 0.2.0-trinity.22030816
The following artifacts are part of Nuvolaris:
-
the
nuv
CLI, a multiplatform binary written in go. The stable releases are published as Releases in thegithub.com/nuvolaris/nuvolaris
repository, while pre-releases and snapshots are ingithub.com/nuvolaris/nuvolaris-cli
-
the docker images are published as packages of
ghcr.io/nuvolaris
, and they are, currently:nuvolaris-devkit
, used for the development environmetnuvolaris-operator
, the Kubernetes operator that installs and manges OpenWhiskopenwhisk-standalone
, the actual OpenWhisk, built as a single node controller+invoker executable
Currently, the nuvolaris-devkit
is the development environment that VSCode starts when it opens the source tree. The nuv
cli deploys in Kubernetes the nuvolaris-operator
and downloads and installs the other images, currently only the openwhisk-standalone
.
Note that there are other images, like CouchDB and the openwhisk runtimes that are downloaded from Docker Hub. In future we will build and provide our image.
There are 3 workflows in github actions in the various repos with those names:
check
is activated by every push, and only checks licensesimage
is activated by any tag starting with a number, and builds and push an image in theghcr.io/nuvolaris
registryrelease
is activated by any tag starting withv
and releases a go binary.
The repo containers source code of nuv
is github.com/nuvolaris/nuvolaris-cli
(here referred as upstream
)
To build a new pre-release, generate a tag with task tag
(that generas one tag in format MAJOR.MINOR.PATCH-MILESTONE.DATETAG
) and then git push upstream --tags
.
When you want a stable release tag manually as vMAJOR.MINOR.PATCH
(note the v
that distinguished the build of a binary from the build of an image, that always starts with a number).
This will build the artifact in nuvolaris-cli
. To actually rebuild the artifact in the main nuvolaris repo, just push the same tag in the nuvolaris/nuvolaris
repo
-
to build the
nuvolaris-devkit
image, create a tag starting with a number in thenuvolaris/nuvolaris
repo and push it. -
to build the
openwhisk-operator
image, create a tag starting with a number in thenuvolaris/nuvolaris-controller
repo and push it. -
to build the
openwhisk-standalone
image, create a tag starting with a number in thenuvolaris/nuvolaris-controller
repo and push it.