Enhance GitHub workflows to improve error handling during file change checks. Added error handling for git diff command in circuits.yml and contracts.yml to ensure robust execution and prevent workflow failures due to diff errors.

This commit is contained in:
Javier Cortejoso
2025-12-19 17:00:57 +01:00
parent ffef0bb504
commit ab3ad25888
2 changed files with 12 additions and 2 deletions

View File

@@ -18,12 +18,17 @@ jobs:
- name: Check if should run - name: Check if should run
id: filter id: filter
run: | run: |
set -e
if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then
echo "should_run=true" >> $GITHUB_OUTPUT echo "should_run=true" >> $GITHUB_OUTPUT
echo "Running for ${{ github.base_ref }} - no path filter" echo "Running for ${{ github.base_ref }} - no path filter"
else else
# For dev branch, check if circuits files changed # 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 "should_run=true" >> $GITHUB_OUTPUT
echo "Running for dev - circuits files changed" echo "Running for dev - circuits files changed"
else else

View File

@@ -23,12 +23,17 @@ jobs:
- name: Check if should run - name: Check if should run
id: filter id: filter
run: | run: |
set -e
if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then if [[ "${{ github.base_ref }}" == "main" ]] || [[ "${{ github.base_ref }}" == "staging" ]]; then
echo "should_run=true" >> $GITHUB_OUTPUT echo "should_run=true" >> $GITHUB_OUTPUT
echo "Running for ${{ github.base_ref }} - no path filter" echo "Running for ${{ github.base_ref }} - no path filter"
else else
# For dev branch, check if contracts or common files changed # 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 "should_run=true" >> $GITHUB_OUTPUT
echo "Running for dev - contracts or common files changed" echo "Running for dev - contracts or common files changed"
else else