Skip to content

Merge pull request #474 from amahuli03/473/openai-title-generation-at… #38

Merge pull request #474 from amahuli03/473/openai-title-generation-at…

Merge pull request #474 from amahuli03/473/openai-title-generation-at… #38

name: "Containers: Publish"
on:
release:
types: [published]
push:
branches: [develop]
permissions:
packages: write
jobs:
release-containers:
name: Build and Push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to ghcr.io Docker registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Compute Docker container image addresses
run: |
DOCKER_REPOSITORY="ghcr.io/${GITHUB_REPOSITORY,,}"
git fetch --tags --force
if [[ "${{ github.event_name }}" == "release" ]]; then
TAG="${GITHUB_REF#refs/tags/}"
DOCKER_TAG="${TAG#v}"
else
# Pre-release for develop
BASE_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
VERSION="${BASE_TAG#v}"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
DOCKER_TAG="${VERSION}-dev.${TIMESTAMP}"
fi
echo "DOCKER_REPOSITORY=${DOCKER_REPOSITORY}" >> $GITHUB_ENV
echo "DOCKER_TAG=${DOCKER_TAG}" >> $GITHUB_ENV
echo "Using: ${DOCKER_REPOSITORY}/*:${DOCKER_TAG}"
# - name: 'Pull previous Docker container image: :latest'
# run: docker pull "${DOCKER_REPOSITORY}:latest" || true
- name: "Pull previous Docker container image: app:latest"
run: docker pull "${DOCKER_REPOSITORY}/app:latest" || true
- name: "Build Docker container image: app:latest"
run: |
docker build \
--cache-from "${DOCKER_REPOSITORY}/app:latest" \
--file Dockerfile.prod \
--tag "${DOCKER_REPOSITORY}/app:latest" \
--tag "${DOCKER_REPOSITORY}/app:${DOCKER_TAG}" \
--build-arg VERSION="${DOCKER_TAG}" \
.
- name: "Push Docker container image app:latest"
run: docker push "${DOCKER_REPOSITORY}/app:latest"
- name: "Push Docker container image app:v*"
run: docker push "${DOCKER_REPOSITORY}/app:${DOCKER_TAG}"
- name: Save Docker Tag
run: echo "${DOCKER_TAG}" > docker_tag.txt
- name: Upload Docker Tag
uses: actions/upload-artifact@v4
with:
name: docker-tag
path: docker_tag.txt