Skip to content

Split build and push step in two for PRs #16

Split build and push step in two for PRs

Split build and push step in two for PRs #16

name: Build image on PR
on:
pull_request:
branches:
- main
jobs:
build:
permissions:
contents: read
concurrency:
group: image-pr-${{ github.event.pull_request.number }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build Docker image
env:
IMAGE_BASENAME: rchakode/realopinsight
run: |
echo "setting build version"
export RELEASE_VERSION="$(date +%F)-$(git rev-parse --short HEAD)"
VERSION_FILE=realopinsight.pro
perl -pi -e 's/^(PACKAGE_VERSION=).*/$1$ENV{RELEASE_VERSION}/' $VERSION_FILE
cat $VERSION_FILE
echo "building container image => ${IMAGE_BASENAME}:${RELEASE_VERSION}"
IMAGE_TAGGED_NAME=${IMAGE_BASENAME}:${RELEASE_VERSION}
docker build -t ${IMAGE_TAGGED_NAME} .
echo "IMAGE_TAGGED_NAME=$IMAGE_TAGGED_NAME" >> "$GITHUB_ENV"
- name: Push Docker image
if: github.event.pull_request.head.repo.full_name == github.repository
env:
REGISTRY_USERNAME: ${{ secrets.CONTAINER_REGISTRY_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
run: |
docker login --username ${REGISTRY_USERNAME} --password ${REGISTRY_PASSWORD}
docker push $IMAGE_TAGGED_NAME