We follow Go's Module Version Numbering for software releases along with typical Software release life cycles.
For example, v0.0.1-alpha.pre.1
is the tag used for the first milestone merge and v0.0.1-alpha.1
can be used for the first official alpha release.
Automatic development / test / production builds are still a work in progress, but we plan to incorporate the following when we reach that point:
+dirty
for uncommitted changes-version
flag that can be injected or defaults toUNKNOWN
branch_name
and a shortenedcommit_hash
should be included
For example, X.Y.Z[-<pre_release_tag][+branch_name][+short_hash][+dirty]
is the name of a potential build we will release in the future.
Our images are hosted on GitHub’s Container Registry (GHCR) and are available at ghcr.io/poktnetwork/pocket-v1
. You can find the list of latest images here.
Code built from the default branch (i.e., main
) is tagged as latest
.
Code built from commits in Pull Requests, is tagged as pr-<number>
, as well as sha-<7 digit sha>
. You can optionally build an image from a Pull Request by attaching a push-image
label to the pull request to force CI to upload a container image from a non-main branch.
Once releases are managed, they will be tagged with the version number (e.g., v0.0.1-alpha.pre.1
).
Extended images with additional tooling are built to aid in troubleshoot and debugging. The extended image is formatted as <tag>-dev
. For example, latest-dev
, or pr-123-dev
.
Once the V1 implementation reaches the stage of testable binaries, we are looking to use Mage which is being tracked in pocket/issues/43 that'll inject a version with the -version
flag.