Skip to content

Build and Push

Build and Push #1

name: Build and Push
on:
workflow_dispatch:
inputs:
tag_name:
description: "Tag name for the Docker image (or version tag)"
required: true
release:
type: boolean
description: "Is this a full release?"
required: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build starter images
run: |
BASE=ghcr.io/cfc-servers/cfc_chat_transit_backend
RELAY="$BASE"/discord_relay
AVATAR="$BASE"/avatar_service
docker build --tag "$AVATAR":${{ inputs.tag_name }} $GITHUB_WORKSPACE/avatar_service
docker build --tag "$RELAY":${{ inputs.tag_name }} $GITHUB_WORKSPACE/discord_relay
if [ "${{ inputs.release }}" = "true" ]; then
echo "::warning:: Tagging this release as the latest!"
docker tag "$AVATAR":${{ inputs.tag_name }} "$AVATAR":latest
docker tag "$RELAY":${{ inputs.tag_name }} "$RELAY":latest
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.GH_TOKEN }}
- name: Tag and push slim images
run: |
docker push ghcr.io/cfc-servers/cfc_chat_transit_backend/avatar_service --all-tags
docker push ghcr.io/cfc-servers/cfc_chat_transit_backend/discord_relay --all-tags