diff --git a/.github/workflows/circuits.yml b/.github/workflows/circuits.yml index 4bfe35f9c..3a527d91b 100644 --- a/.github/workflows/circuits.yml +++ b/.github/workflows/circuits.yml @@ -18,12 +18,17 @@ jobs: - name: Check if should run id: filter run: | + set -e if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then echo "should_run=true" >> $GITHUB_OUTPUT echo "Running for ${{ github.base_ref }} - no path filter" else # For dev branch, check if circuits files changed - if git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -q "^circuits/"; then + CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD) || { + echo "Error: Failed to diff against base branch" + exit 1 + } + if echo "$CHANGED_FILES" | grep -qE "^circuits/"; then echo "should_run=true" >> $GITHUB_OUTPUT echo "Running for dev - circuits files changed" else diff --git a/.github/workflows/contracts.yml b/.github/workflows/contracts.yml index 647e4ed99..65e9edfbe 100644 --- a/.github/workflows/contracts.yml +++ b/.github/workflows/contracts.yml @@ -23,12 +23,17 @@ jobs: - name: Check if should run id: filter run: | + set -e if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then echo "should_run=true" >> $GITHUB_OUTPUT echo "Running for ${{ github.base_ref }} - no path filter" else # For dev branch, check if contracts or common files changed - if git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -qE "^(contracts|common)/"; then + CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD) || { + echo "Error: Failed to diff against base branch" + exit 1 + } + if echo "$CHANGED_FILES" | grep -qE "^(contracts|common)/"; then echo "should_run=true" >> $GITHUB_OUTPUT echo "Running for dev - contracts or common files changed" else