diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 4174753..ad41819 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -68,9 +68,11 @@ jobs: working-directory: otterdog-configs - name: Validate Otterdog Configuration and diff HEAD <-> BASE + id: validate run: | # use script to enable ansi color output - script -q /dev/null --command "../otterdog/otterdog.sh local-plan ${{ github.repository_owner }} -c otterdog.json --suffix=-BASE" | tee "$GITHUB_WORKSPACE/diff-ansi.txt" + script -e -q /dev/null --command "../otterdog/otterdog.sh local-plan ${{ github.repository_owner }} -c otterdog.json --suffix=-BASE" | tee "$GITHUB_WORKSPACE/diff-ansi.txt" + echo "VALIDATION_STATUS=${PIPESTATUS[0]}" >> $GITHUB_OUTPUT # filter out ansi escape sequences again, use sed as ansi2txt is not available cat "$GITHUB_WORKSPACE/diff-ansi.txt" | sed -e 's/\x1b\[[0-9;]*m//g' | sed -E 's/^([[:space:]]+)([-+!])/\2\1/g' | sed -E 's/^([[:space:]]+)([~])/!\1/g' > "$GITHUB_WORKSPACE/diff.txt" working-directory: otterdog-configs @@ -104,3 +106,7 @@ jobs: hide_and_recreate: true hide_classify: "OUTDATED" path: ${{ github.workspace }}/comment.txt + + - name: Propagate validation exit status + run: | + exit ${{ steps.validate.outputs.VALIDATION_STATUS }}