Iand/updating recipe validation workflow (#4403)
This commit is contained in:
@@ -64,22 +64,33 @@ jobs:
|
|||||||
if: steps.recipe_changes.outputs.recipe_files_changed == 'true'
|
if: steps.recipe_changes.outputs.recipe_files_changed == 'true'
|
||||||
run: sudo apt-get update && sudo apt-get install -y jq
|
run: sudo apt-get update && sudo apt-get install -y jq
|
||||||
|
|
||||||
- name: Find recipe files in PR
|
- name: Find changed recipe files in PR
|
||||||
id: find_recipes
|
id: find_recipes
|
||||||
if: steps.recipe_changes.outputs.recipe_files_changed == 'true'
|
if: steps.recipe_changes.outputs.recipe_files_changed == 'true'
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
echo "Looking for recipe files in PR..."
|
echo "Looking for changed recipe files in PR..."
|
||||||
|
|
||||||
# Find all .yaml/.yml files in the recipes directory
|
# Get the list of changed files in this PR
|
||||||
RECIPE_FILES=$(find documentation/src/pages/recipes/data/recipes/ -name "*.yaml" -o -name "*.yml" 2>/dev/null || true)
|
if [ "${{ github.event_name }}" = "pull_request" ] && [ "${{ github.event.action }}" = "synchronize" ]; then
|
||||||
|
# For synchronize events, check files changed since the previous commit
|
||||||
|
echo "📝 Synchronize event - checking files changed since previous commit"
|
||||||
|
CHANGED_FILES=$(git diff --name-only ${{ github.event.before }}..${{ github.event.after }})
|
||||||
|
else
|
||||||
|
# For opened/reopened, check all files in the PR
|
||||||
|
echo "📝 PR opened/reopened - checking all files in PR"
|
||||||
|
CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}..HEAD)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Filter for recipe files only that were changed
|
||||||
|
RECIPE_FILES=$(echo "$CHANGED_FILES" | grep "^documentation/src/pages/recipes/data/recipes/" | grep -E "\.(yaml|yml)$" || true)
|
||||||
|
|
||||||
if [ -z "$RECIPE_FILES" ]; then
|
if [ -z "$RECIPE_FILES" ]; then
|
||||||
echo "No recipe files found in PR"
|
echo "No changed recipe files found in PR"
|
||||||
echo "has_recipes=false" >> "$GITHUB_OUTPUT"
|
echo "has_recipes=false" >> "$GITHUB_OUTPUT"
|
||||||
echo "recipe_count=0" >> "$GITHUB_OUTPUT"
|
echo "recipe_count=0" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "Found recipe files:"
|
echo "Found changed recipe files:"
|
||||||
echo "$RECIPE_FILES"
|
echo "$RECIPE_FILES"
|
||||||
RECIPE_COUNT=$(echo "$RECIPE_FILES" | wc -l)
|
RECIPE_COUNT=$(echo "$RECIPE_FILES" | wc -l)
|
||||||
echo "has_recipes=true" >> "$GITHUB_OUTPUT"
|
echo "has_recipes=true" >> "$GITHUB_OUTPUT"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
|
|||||||
Reference in New Issue
Block a user