/docker-multi-build-push-action

Build and push automatically to public ecr and ghcr

Build and push in parallel to GitHub Container Registry (GHCR) and public Elastic Container Registry (public ECR)

Inputs:

Name Required Descrption
docker-tag true Docker tag to push
platforms false Supported platforms for multiarch (defaults to linux/amd64)
file false Path to the Dockerfile. (default Dockerfile)
context false Docker build context (default .)
ghcr-enabled true Enable or disable GHCR push
ghcr-token if ghcr-enabled == true Sets the GITHUB_TOKEN secret
ecr-enabled true Enable or disable public ECR push
ecr-role-to-assume if ecr-enabled == true Role to assume for public ecr push
ecr-repository-url if ecr.enabled == true ECR Repository URI

Example:

on: [ push ]

jobs:
  hello_world_job:
    runs-on: ubuntu-latest
    name: A job to say hello
    permissions:
      id-token: write # required for public ecr auth
      contents: read  # required for checkout
      packages: write # required for ghcr push
    steps:
      - uses: actions/checkout@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - uses: daspawnw/docker-multi-build-push-action@master
        with:
          docker-tag: "latest"
          ghcr-enabled: "true"
          ghcr-token: "${{ secrets.GITHUB_TOKEN }}"
          ecr-enabled: "true"
          ecr-role-to-assume: "arn:aws:iam::123456789012:role/assumed-role-for-push"
          ecr-repository-url: "public.ecr.aws/daspawnw/vault-crd"