diff --git a/.env b/.env index b290898..f46f271 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ +ADMIN_DASH_IMAGE_TAG=2024-09-20--11-21 SERVER_IMAGE_TAG=2024-09-20--06-45 diff --git a/.github/workflows/image_build_push.yml b/.github/workflows/image_build_push.yml index c3c63e5..3033138 100644 --- a/.github/workflows/image_build_push.yml +++ b/.github/workflows/image_build_push.yml @@ -5,10 +5,6 @@ on: branches: [ master ] workflow_dispatch: - inputs: - docker_image_tag: - description: "Latest Docker image tags passed from e-mission-server repository on image build and push" - required: true env: DOCKER_USER: ${{secrets.DOCKER_USER}} @@ -21,18 +17,24 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Fetch server image tag + id: get-server-tag + run: | + response=$(curl -s https://raw.githubusercontent.com/MukuFlash03/e-mission-server/refs/heads/cleanup-cicd/.env) + SERVER_IMAGE_TAG=$(echo "$response" | grep "SERVER_IMAGE_TAG=" | cut -d'=' -f2) + echo "SERVER_IMAGE_TAG=$SERVER_IMAGE_TAG" >> "$GITHUB_OUTPUT" + - name: Set docker image tags id: set-tags run: | set -a; source .env; set +a - echo "DOCKER_TAG_FROM_PUSH=${SERVER_IMAGE_TAG}" >> "$GITHUB_OUTPUT" - echo "DOCKER_TAG_FROM_WORKFLOW_DISPATCH=${{ github.event.inputs.docker_image_tag }}" >> "$GITHUB_OUTPUT" + echo "ADMIN_DASH_IMAGE_TAG=${ADMIN_DASH_IMAGE_TAG}" >> "$GITHUB_OUTPUT" - - name: Print input docker image tag + - name: Print input docker image tags run: | echo "Event name: ${{ github.event_name }}" - echo "Latest docker image tag (push): ${{ steps.set-tags.outputs.DOCKER_TAG_FROM_PUSH }}" - echo "Latest docker image tag (workflow_dispatch): ${{ steps.set-tags.outputs.DOCKER_TAG_FROM_WORKFLOW_DISPATCH }}" + echo "Current admin-dash image tag (push): ${{ steps.set-tags.outputs.ADMIN_DASH_IMAGE_TAG }}" + echo "Latest server image tag (${{ github.event_name }}): ${{ steps.get-server-tag.outputs.SERVER_IMAGE_TAG }}" - name: docker login run: | # log into docker hub account @@ -47,11 +49,7 @@ jobs: - name: build docker image run: | - if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then - SERVER_IMAGE_TAG=${{ steps.set-tags.outputs.DOCKER_TAG_FROM_WORKFLOW_DISPATCH }} docker compose -f docker-compose-prod.yml build - else - SERVER_IMAGE_TAG=${{ steps.set-tags.outputs.DOCKER_TAG_FROM_PUSH }} docker compose -f docker-compose-prod.yml build - fi + SERVER_IMAGE_TAG=${{ steps.get-server-tag.outputs.SERVER_IMAGE_TAG }} docker compose -f docker-compose-prod.yml build docker images - name: rename docker image @@ -64,13 +62,9 @@ jobs: - name: Update .env file run: | - if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then - echo "Workflow_dispatch: New server image built and pushed, Updating image tag in .env" - echo "SERVER_IMAGE_TAG=${{ steps.set-tags.outputs.DOCKER_TAG_FROM_WORKFLOW_DISPATCH }}" > .env - else - echo "Push event: Restoring latest server image tag from .env" - fi - + echo "ADMIN_DASH_IMAGE_TAG=${{ steps.date.outputs.date }}" > .env + echo "SERVER_IMAGE_TAG=${{ steps.get-server-tag.outputs.SERVER_IMAGE_TAG }}" >> .env + - name: Add, Commit, Push changes to .env file run: | git config --local user.email "action@github.com" @@ -79,7 +73,7 @@ jobs: echo "Latest timestamp already present in .env file, no changes to commit" else git add .env - git commit -m "Updated docker image tag in .env file to the latest timestamp" + git commit -m "Updated docker image tags in .env file to the latest timestamp" git push origin fi