Skip to content

Create API Docker image on new release or using manual trigger #8

Create API Docker image on new release or using manual trigger

Create API Docker image on new release or using manual trigger #8

Workflow file for this run

name: Create API Docker image on new release or using manual trigger
on:
#push:
# branches: [ "master" ]
#pull_request:
# branches: [ "master" ]
workflow_dispatch:
release:
types:
- created
jobs:
build:
runs-on: ubuntu-latest
env:
IMAGE_TAG: ${{ github.event.release.tag_name }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set release version or use default
run: echo "RELEASE_VERSION=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
if: github.event_name == 'release'
- name: Build the Docker image
run: |
if [ "${{ github.event_name }}" == 'workflow_dispatch' ]; then
IMAGE_TAG="dev_$(date +"%Y%m%d")"
fi
echo "IMAGE_TAG=${IMAGE_TAG}"
docker build . --file Dockerfile --tag ${{ github.repository }}:$IMAGE_TAG
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
- name: Push the Docker image to GHCR
if: success() && (github.event_name == 'release' || github.event_name == 'workflow_dispatch')
run: |
echo "github.event_name=${{ github.event_name }}"
echo "IMAGE_TAG=${IMAGE_TAG}"
echo "github.repository=${{ github.repository }}"
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
IMAGE_NAME="ghcr.io/${{ github.repository }}"
docker tag ${{ github.repository }}:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG
docker push $IMAGE_NAME:$IMAGE_TAG