feature/oonodz-integration. Integrate ooNodz workflow and create and push docker images #176
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why this should be merged
This PR aim to integrate the CI and releasing process with docker images.
It allows validator provider to directly get the Hubblenet docker image to be run.
Release notes
The following variables must be set in github:
For example
AVALANCHE_VERSION=v1.10.9
andAVALANCHE_VERSION_DEV=v1.11.2
The following secrets must be set in github:
This is the credentials required for pushing to https://hub.docker.com/r/hubbleexchange/hubblenet
How this works
It contains 2 workflow:
ci-push-image-aylin.yml
This pipeline is triggered on each commit to the branch
aylin
. It creates the image and tag it with the commit hash, theAVALANCHE_VERSION_DEV
and the mentionaylin
.The image tag will look like:
hubbleexchange/hubblenet:v1.11.2-aylin-5f0fb47d23cce91b48f1f93594037ac04707dc32
This image is compatible for the testnet and the mainnet
push-image-release.yml
This pipeline is manually triggered (could be automatically triggered on
workflow_run completed ['Release']
but it is out of the scope).It requires a release tag that is found here: https://github.com/hubble-exchange/hubblenet/releases
On triggered, the github runner build a Dockerfile at runtime and then use it to create 2 release images, 1 for the mainnet and 1 for fuji.
Both images are tagged with
AVALANCHE_VERSION
, the hubblenet release version and for testnet it adds the "fuji" tag.All the images are pushed to the public repo: https://hub.docker.com/r/hubbleexchange/hubblenet
How this was tested
The pipelines were fully tested on a private repository using a fork of Hubblenet and a private Dockerhub account.
How is this documented
The documentation is this PR description