Skip to content

Publish dev Docker image #24

Publish dev Docker image

Publish dev Docker image #24

Workflow file for this run

name: Publish dev Docker image
on:
workflow_dispatch:
jobs:
build-and-push-image:
environment: development
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- context: client
image: ghcr.io/neilenns/vatsim-plan-verifier-client
- context: server
image: ghcr.io/neilenns/vatsim-plan-verifier-server
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get the short commit hash
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Generate Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
# list of Docker images to use as base name for tags
images: |
${{ matrix.image }}
labels: |
org.opencontainers.image.title=Vatsim plan verifier ${{ matrix.context }}
org.opencontainers.image.description=${{ matrix.context }} for Vatsim plan verifier
org.opencontainers.image.source=https://github.com/neilenns/react-vatsim-plan-verifier
org.opencontainers.image.licenses=MIT
# generate Docker tags based on the following events/attributes
tags: |
${{ env.sha_short }}
dev
- name: Build and push image
uses: docker/build-push-action@v5
with:
context: ${{ matrix.context }}
file: ${{ matrix.context }}/Docker/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=neilenns/vatsim-plan-verifier-${{ matrix.context }}:dev
cache-to: type=inline
build-args: |
VERSION="dev (${{ env.sha_short}})"