blocknetdx / dockerimages

Official Blocknet Docker Images
Apache License 2.0
10 stars 14 forks source link

Docker image build trigger process for QA testing #31

Closed shrnkld closed 2 years ago

shrnkld commented 3 years ago

Process to trigger new docker build:

  1. create branch on main repo (if needed) - eg 4.3.4-dev
  2. If an XBridge version increment is needed, update src/xbridge/version.h
  3. create PR request on main repo to trigger GitLab test build
  4. create new branch with same name on dockerimages repo, prepending servicenode - eg servicenode-4.3.4-dev
  5. run 'BUILD SERVICENODE' template builder action in dockerimages repo

Actions will run to trigger docker image build if all items are correct

ConanMishler commented 3 years ago

Sry for being a stickler, but to avoid possible confusion in the future, can we change this line?: "2. create new branch with same name on docker repo, appending servicenode - eg servicenode-4.3.4-dev" to "2. create new branch with same name on dockerimages repo, prepending servicenode - eg servicenode-4.3.4-dev"

shrnkld commented 3 years ago

Sry for being a stickler, but to avoid possible confusion in the future, can we change this line?: "2. create new branch with same name on docker repo, appending servicenode - eg servicenode-4.3.4-dev" to "2. create new branch with same name on dockerimages repo, prepending servicenode - eg servicenode-4.3.4-dev"

Good spot. Done ;)

leonVrashitov commented 3 years ago

BUILD IMAGE FROM TEMPLATE - this workflow is used to create an image based on Dockerfile template. It checks manifest.json, generates Dockerfile, build and push an image. It takes two inputs (arguments): The name of a wallet; the version of wallet (this is used as a tag for image). If do not define a version, it takes the latest one from manifest.json by default.

Scenario: 1) Add info to manifest.json if does not exist. 2) Run a workflow by filling inputs. Put a wallet name and a version (if necessary) in a web form. 3)The image will be uploaded to DockerHub blocknetdx/:-staging

BUILD SERVICENODE - this workflow is used to create a servicenode image. (The previous workflow also can bu used to create servicenode images. But it creates only those images which are presented in manifest.json.) The workflow creates an image with any version of branch. It takes three inputs (arguments): The name of wallet, by default it is "servicenode"; The version (it is used as a tag for image). The branch, name of branch.

Scenario: 1) If a branch in blocknet repository is ready for building and testing, run a workflow by filling inputs. 2) The image will be uploaded to DockerHub blocknetdx/:-staging

BUILD CUSTOM IMAGE - It is used if we need to create a custom dockerimage which is not presented in manifest.json, but requires testing.

Scenario: 1) Create a branch from master 2) Create a Dockerfile and necessary files in directory images// 3) Run a workflow by filling inputs and select the branch which you had created! Put a wallet name and a version in a web form. 4) The image will be uploaded to DockerHub blocknetdx/:-staging

RELEASE IMAGE - when the image is tested and has no any issues it can be released by workflow. It changes a tag of an image from blocknetdx/:-staging to blocknetdx/:

Scenario: 1) Run a workflow by filling inputs. Put a wallet name and a version in a web form. 2) The image will be re-uploaded to DockerHub blocknetdx/: