Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: publish multi arch docker image to dockerhub #751

Merged
merged 43 commits into from
Jun 10, 2024

Update docker.yml

4bf215e
Select commit
Loading
Failed to load commit list.
Merged

feat: publish multi arch docker image to dockerhub #751

Update docker.yml
4bf215e
Select commit
Loading
Failed to load commit list.
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 provided Dockerfile.
    Builds an image for arm64, amd64 and arm/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 as mergeability/mergeable.
    This image is then tagged with the version from the github tag and the latest tag.
    Can also be triggered manually which then only creates the latest 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.

image

Todos:

  • Changesecrets.DOCKERHUB_PASSWORD to secrets.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"}}