⬆️ Bump the npm_and_yarn group across 3 directories with 5 updates #564
This file contains 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: build-docker-images | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- release-* | |
tags: | |
- '*' | |
paths: | |
- "lib/**/**" | |
- "src/**" | |
- ".github/workflows/**" | |
permissions: | |
contents: read | |
packages: write | |
jobs: | |
docker-builds: | |
strategy: | |
matrix: | |
app: | |
- auth | |
- console | |
#- website | |
include: | |
- app: auth | |
dockerFile: Dockerfile | |
- app: console | |
dockerFile: Dockerfile | |
#- app: website | |
#dockerFile: Dockerfile.devdoc | |
runs-on: ubuntu-latest | |
name: Deploy to Docker Image | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Log in to the Container registry | |
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create Image Tag from branch name | |
if: startsWith(github.ref, 'refs/heads/release-') | |
run: | | |
set +e | |
IMAGE_TAG=$(echo ${GITHUB_REF#refs/heads/release-}) | |
echo "$IMAGE_TAG" | grep -i '\-nightly$' | |
if [ $? -ne 0 ]; then | |
IMAGE_TAG="$IMAGE_TAG-nightly" | |
fi | |
set -e | |
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
echo "OVERRIDE_PUSHED_IMAGE=true" >> $GITHUB_ENV | |
- name: Create Image Tag from tag | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
IMAGE_TAG=$(echo ${GITHUB_REF#refs/tags/}) | |
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV | |
echo "OVERRIDE_PUSHED_IMAGE=false" >> $GITHUB_ENV | |
- name: Build | |
if: "!startsWith(github.ref, 'refs/heads/release-') && !startsWith(github.ref, 'refs/tags/')" | |
run: | | |
image_name="ghcr.io/${{ github.repository }}/${{matrix.app}}" | |
docker build --build-arg APP=${{matrix.app}} -f ${{matrix.dockerFile}} . -t "$image_name:test" | |
- name: Build & Push Image | |
if: startsWith(github.ref, 'refs/heads/release-') || startsWith(github.ref, 'refs/tags/') | |
run: | | |
set +e | |
image_name="ghcr.io/${{ github.repository }}/${{matrix.app}}" | |
docker manifest inspect $image_name:$IMAGE_TAG | |
exit_status=$? | |
if [ $exit_status -eq 0 ]; then | |
[ "$OVERRIDE_PUSHED_IMAGE" = "false" ] && echo "image ($image_name:$IMAGE_TAG) already exists, and override image is disable, exiting" && exit 0 | |
echo "image exists, but override pushed image is set to true. proceeding with building image" | |
fi | |
set -e | |
docker build --build-arg APP=${{matrix.app}} -f ${{matrix.dockerFile}} . -t "$image_name:$IMAGE_TAG" --push | |