fix(workflows): ensure version detection output is always set
All checks were successful
All checks were successful
- Move VERSION file change detection behind a branch guard (main only) - Use a fallback in the output step to ensure 'version_changed' is always defined - Prevent job skipping and output access errors in feature branches
This commit is contained in:
@@ -9,32 +9,36 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
detect-version-change:
|
detect-version-change:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
outputs:
|
outputs:
|
||||||
version_changed: ${{ steps.check.outputs.version_changed }}
|
version_changed: ${{ steps.set.outputs.version_changed }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Check if VERSION file changed
|
- name: Check if VERSION file changed
|
||||||
id: check
|
if: github.ref == 'refs/heads/main'
|
||||||
run: |
|
run: |
|
||||||
echo "🔍 Vergleich mit github.event.before:"
|
echo "🔍 Vergleich mit github.event.before:"
|
||||||
echo "Before: ${{ github.event.before }}"
|
echo "Before: ${{ github.event.before }}"
|
||||||
echo "After: ${{ github.sha }}"
|
echo "After: ${{ github.sha }}"
|
||||||
|
|
||||||
echo "📄 Changed files between before and after:"
|
echo "📄 Changed files between before and after:"
|
||||||
git diff --name-only ${{ github.event.before }} ${{ github.sha }} || echo "(diff failed)"
|
git diff --name-only ${{ github.event.before }} ${{ github.sha }} || echo "(diff failed)"
|
||||||
|
|
||||||
if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^VERSION$'; then
|
if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^VERSION$'; then
|
||||||
echo "✅ VERSION file was changed between before and after"
|
echo "✅ VERSION file was changed"
|
||||||
echo "version_changed=true" >> $GITHUB_OUTPUT
|
echo "VERSION_CHANGED=true" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
echo "ℹ️ VERSION file not changed between before and after"
|
echo "ℹ️ VERSION file not changed"
|
||||||
echo "version_changed=false" >> $GITHUB_OUTPUT
|
echo "VERSION_CHANGED=false" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Set output (always)
|
||||||
|
id: set
|
||||||
|
run: |
|
||||||
|
echo "version_changed=${VERSION_CHANGED:-false}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
changelog-only:
|
changelog-only:
|
||||||
needs: detect-version-change
|
needs: detect-version-change
|
||||||
if: github.ref != 'refs/heads/main' || needs.detect-version-change.outputs.version_changed == 'false'
|
if: github.ref != 'refs/heads/main' || needs.detect-version-change.outputs.version_changed == 'false'
|
||||||
|
Reference in New Issue
Block a user