Merge pull request #474 from amahuli03/473/openai-title-generation-at… #38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |