feat: publish multi arch docker image to dockerhub #751
Mergeable / Mergeable
failed
Jun 10, 2024 in 0s
2/4 Fail(s): DESCRIPTION, OR
Status: FAIL
Here are some stats of the run:
4 validations were ran.
2 PASSED
2 FAILED
Details
✔️ Validator: TITLE
- ✔️ title must include '^(feat|docs|chore|fix|refactor|test|style|perf)((\w+))?:.+$'
Input : feat: publish multi arch docker image to dockerhub
Settings :{"must_include":{"regex":"^(feat|docs|chore|fix|refactor|test|style|perf)(\\(\\w+\\))?:.+$","message":"Semantic release conventions must be followed."}}
❌ Validator: DESCRIPTION
- ❌ There are incomplete TODO task(s) unchecked.
Input : When a new release tag is created, trigger a new docker image build, using the providedDockerfile
.
Builds an image forarm64
,amd64
andarm/v7
on parallel running runners with different architecture, for native compilation speed.
Combines all images into one multi arch build and uploads it to dockerhub asmergeability/mergeable
.
This image is then tagged with the version from the github tag and thelatest
tag.
Can also be triggered manually which then only creates thelatest
tag.
Most of the code comes from the official docker docs on how to build a multi arch image.
Fixes #597
Tested and verified it works when pushing a release tag.

Todos:
- Change
secrets.DOCKERHUB_PASSWORD
tosecrets.DOCKERHUB_TOKEN
(not sure if password is still accepted by dockerhub)
Settings :{"must_exclude":{"regex":"\\[ \\]","message":"There are incomplete TODO task(s) unchecked."}}
✔️ Validator: APPROVALS
- ✔️ approvals does have a minimum of '1'
Input : shine2lay
Settings :{"min":{"count":1}}
- ✔️ All the requisite validations passed for 'or' option
Input : shine2lay
Settings :{"or":[{"required":{"reviewers":["jusx"]}},{"required":{"reviewers":["shine2lay"]}}]}
❌ Validator: OR
- ✔️ Option 1: And: Option 1: title: title must include '^(feat|fix)((\w+))?:.+$'
Input : feat: publish multi arch docker image to dockerhub
Settings :{"must_include":{"regex":"^(feat|fix)(\\(\\w+\\))?:.+$"}}
- ❌ Option 1: And: Option 2: changeset: new features or fixes needed to be logged to the changelog
Input : .github/workflows/docker.yml
Settings :{"must_include":{"regex":"docs/changelog.rst","message":"new features or fixes needed to be logged to the changelog"}}
- ❌ Option 2: title: new features or fixes needed to be logged to the changelog
Input : feat: publish multi arch docker image to dockerhub
Settings :{"must_exclude":{"regex":"^(feat|fix)(\\(\\w+\\))?:.+$","message":"new features or fixes needed to be logged to the changelog"}}
Loading