Skip to content

Update build-images-ghcr.yml #63

Update build-images-ghcr.yml

Update build-images-ghcr.yml #63

name: Build Docker Images for GHCR
on:
push:
branches:
- main
env:
REGISTRY: ghcr.io
jobs:
build-image:
name: Build Docker Image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
include:
- Dockerfile: simple/Dockerfile
context: simple/
tag: simple
- Dockerfile: micro-service/Dockerfile.api
context: micro-service
tag: api
- Dockerfile: micro-service/Dockerfile.frontend
context: micro-service
tag: frontend
- Dockerfile: evil-tea/Dockerfile
context: evil-tea
tag: evil
- Dockerfile: multiversions/Dockerfile
context: multiversions/v1
tag: v1.1
- Dockerfile: multiversions/Dockerfile
context: multiversions/v2
tag: v1.2
- Dockerfile: multiversions/Dockerfile
context: multiversions/v3
tag: v1.3
- Dockerfile: multiversions/Dockerfile
context: multiversions/v4
tag: v1.4
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout code
uses: actions/checkout@v4
- name: set repository name to lowercase
run: |
echo "reponame=${reponame,,}" >>${GITHUB_ENV}
env:
reponame: '${{ github.repository }}'
- name: Build and Push Docker Image
uses: docker/build-push-action@v6
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: ${{ github.event_name != 'pull_request' }}
tags: ghcr.io/${{ env.reponame }}:${{ matrix.tag }}
platforms: linux/amd64,linux/arm64