add: rebuild when docker folder change
All checks were successful
Blog Deployment / check-rebuild (push) Successful in 4s
Blog Deployment / build (push) Has been skipped
Blog Deployment / deploy-staging (push) Successful in 9s
Blog Deployment / test-staging (push) Successful in 3s
Blog Deployment / merge (push) Successful in 5s
Blog Deployment / deploy-production (push) Successful in 9s
Blog Deployment / test-production (push) Successful in 2s
Blog Deployment / clean (push) Has been skipped

This commit is contained in:
Vezpi 2025-06-04 21:08:17 +00:00
parent 6190e4664b
commit 51ff489523

View File

@ -9,7 +9,7 @@ env:
DOCKER_IMAGE: vezpi-blog DOCKER_IMAGE: vezpi-blog
jobs: jobs:
check-hugo-version: check-rebuild:
runs-on: docker runs-on: docker
defaults: defaults:
run: run:
@ -18,7 +18,8 @@ jobs:
latest_hugo_version: ${{ steps.get_latest.outputs.version }} latest_hugo_version: ${{ steps.get_latest.outputs.version }}
current_hugo_version: ${{ steps.get_current.outputs.version }} current_hugo_version: ${{ steps.get_current.outputs.version }}
newer_version_available: ${{ steps.compare.outputs.version }} newer_version_available: ${{ steps.compare.outputs.version }}
steps: docker_folder_changed: ${{ steps.docker_folder.outputs.changed }}
steps:
- name: Check Latest Hugo Version - name: Check Latest Hugo Version
id: get_latest id: get_latest
run: | run: |
@ -31,7 +32,7 @@ jobs:
run: | run: |
current_version=$(docker image ls ${DOCKER_IMAGE} --format '{{.Tag}}' | head -n1) current_version=$(docker image ls ${DOCKER_IMAGE} --format '{{.Tag}}' | head -n1)
echo "version=$current_version" | tee -a $GITEA_OUTPUT echo "version=$current_version" | tee -a $GITEA_OUTPUT
- name: Compare Current and Latest Hugo Versions - name: Compare Current and Latest Hugo Versions
id: compare id: compare
run: | run: |
@ -44,9 +45,22 @@ jobs:
fi fi
echo "version=$new_version_available" | tee -a $GITEA_OUTPUT echo "version=$new_version_available" | tee -a $GITEA_OUTPUT
- name: Check Changes in the Docker Folder
id: docker_folder
run: |
if git diff --name-only main | grep -q '^docker/';
then
docker_folder_changed=true
echo "Change detected in the /docker folder"
else
docker_folder_changed=false
echo "No change in the /docker folder"
fi
echo "changed=$docker_folder_changed" | tee -a $GITEA_OUTPUT
build: build:
needs: check-hugo-version needs: check-rebuild
if: needs.check-hugo-version.outputs.newer_version_available == 'true' if: needs.check-rebuild.outputs.newer_version_available == 'true' || needs.check-rebuild.outputs.docker_folder_changed == 'true'
runs-on: docker runs-on: docker
defaults: defaults:
run: run:
@ -59,16 +73,16 @@ jobs:
run: | run: |
cd docker cd docker
docker build \ docker build \
--build-arg HUGO_VERSION=${{ needs.check-hugo-version.outputs.latest_hugo_version }} \ --build-arg HUGO_VERSION=${{ needs.check-rebuild.outputs.latest_hugo_version }} \
--tag ${DOCKER_IMAGE}:${{ needs.check-hugo-version.outputs.latest_hugo_version }} \ --tag ${DOCKER_IMAGE}:${{ needs.check-rebuild.outputs.latest_hugo_version }} \
. .
docker tag ${DOCKER_IMAGE}:${{ needs.check-hugo-version.outputs.latest_hugo_version }} ${DOCKER_IMAGE}:latest docker tag ${DOCKER_IMAGE}:${{ needs.check-rebuild.outputs.latest_hugo_version }} ${DOCKER_IMAGE}:latest
deploy-staging: deploy-staging:
needs: needs:
- check-hugo-version - check-rebuild
- build - build
if: always() && needs.check-hugo-version.result == 'success' && (needs.build.result == 'skipped' || needs.build.result == 'success') if: always() && needs.check-rebuild.result == 'success' && (needs.build.result == 'skipped' || needs.build.result == 'success')
runs-on: docker runs-on: docker
container: container:
volumes: volumes:
@ -162,7 +176,7 @@ jobs:
clean: clean:
needs: needs:
- check-hugo-version - check-rebuild
- build - build
- test-production - test-production
runs-on: docker runs-on: docker
@ -171,4 +185,4 @@ jobs:
shell: sh shell: sh
steps: steps:
- name: Checkout Repository - name: Checkout Repository
run: docker image rm vezpi-blog:${{ needs.check-hugo-version.outputs.current_hugo_version }} --force run: docker image rm vezpi-blog:${{ needs.check-rebuild.outputs.current_hugo_version }} --force