Skip to content

Chat_App Docker Image file #1

Chat_App Docker Image file

Chat_App Docker Image file #1

Workflow file for this run

name: CI - Build and Push (GHCR)
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write # needed to push to GHCR
id-token: write
env:
REGISTRY: ghcr.io
IMAGE_NAMESPACE: ${{ github.repository_owner }}
SHA_TAG: ${{ github.sha }}
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Optional: enable GitHub Actions cache for faster builds
- name: Build & push backend
uses: docker/build-push-action@v5
with:
context: ./backend
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/chat-backend:latest
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/chat-backend:${{ env.SHA_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build & push frontend
uses: docker/build-push-action@v5
with:
context: ./frontend
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/chat-frontend:latest
${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/chat-frontend:${{ env.SHA_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max