updates to workflow
This commit is contained in:
@@ -20,56 +20,7 @@ env:
|
|||||||
IMAGE_REPO: foundry_vtt
|
IMAGE_REPO: foundry_vtt
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-for-changes:
|
|
||||||
runs-on: vm-docker-build2
|
|
||||||
outputs:
|
|
||||||
should_build: ${{ steps.check.outputs.should_build }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Pull latest alpine base
|
|
||||||
run: docker pull alpine:latest
|
|
||||||
|
|
||||||
- name: Get current base image digest
|
|
||||||
id: get_digest
|
|
||||||
run: |
|
|
||||||
digest=$(docker inspect --format='{{index .RepoDigests 0}}' alpine:latest || echo "unknown")
|
|
||||||
echo "digest=$digest" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Determine if base changed or alpine files changed
|
|
||||||
id: check
|
|
||||||
run: |
|
|
||||||
base_changed=false
|
|
||||||
code_changed=false
|
|
||||||
|
|
||||||
new_digest="${{ steps.get_digest.outputs.digest }}"
|
|
||||||
infofile="alpine/build-info.json"
|
|
||||||
last_digest=""
|
|
||||||
|
|
||||||
if [ -f "$infofile" ]; then
|
|
||||||
last_digest=$(jq -r '.base_digest // empty' "$infofile")
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$last_digest" != "$new_digest" ]; then
|
|
||||||
base_changed=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if git diff --name-only HEAD~1 HEAD | grep '^alpine/' > /dev/null; then
|
|
||||||
code_changed=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$base_changed" = true ] || [ "$code_changed" = true ]; then
|
|
||||||
echo "should_build=true" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "should_build=false" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
needs: check-for-changes
|
|
||||||
if: needs.check-for-changes.outputs.should_build == 'true'
|
|
||||||
runs-on: vm-docker-build2
|
runs-on: vm-docker-build2
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
|||||||
Reference in New Issue
Block a user