Skip to content

docker-image.yml changes #36

docker-image.yml changes

docker-image.yml changes #36

Workflow file for this run

name: Build and Push Docker Images
on:
push:
branches:
- github-actions
env:
REGISTRY: ghcr.io
IMAGE_OWNER: ${{ github.repository_owner }}
jobs:
docker-build-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code with submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.CR_PAT }}
- name: Build and install microservice-shared
run: mvn clean install -DskipTests
working-directory: ./microservice-shared
- name: Build and push all moderation Docker images
run: |
declare -A services=(
["api"]="docker/api/Dockerfile"
["bert"]="docker/bert/Dockerfile"
["classical"]="docker/classical/Dockerfile"
["llm"]="docker/llm/Dockerfile"
["toxic-bert"]="docker/toxic_bert/Dockerfile"
)
for service in "${!services[@]}"; do
docker build -f "microservice-moderation/${services[$service]}" \
-t $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-moderation-$service:latest \
microservice-moderation
docker push $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-moderation-$service:latest
done
- name: Build and push backend
run: |
docker build -t $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-backend:latest ./backend
docker push $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-backend:latest
- name: Build and push microservice-notifications
run: |
docker build -f microservice-notifications/Dockerfile \
-t $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-notifications:latest \
microservice-notifications
docker push $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-notifications:latest
- name: Build and push microservice-chat
run: |
docker build -f microservice-chat/Dockerfile \
-t $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-chat:latest \
microservice-chat
docker push $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-chat:latest
- name: Build and push frontend
run: |
docker build -t $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-frontend:latest \
./frontend --build-arg REACT_APP_API_BASE_URL=http://localhost:8080
docker push $REGISTRY/${{ env.IMAGE_OWNER }}/syntaxbase-frontend:latest