From ace945a4ea1449c3feeb9119c3ed05adc11d9f63 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Sat, 15 Mar 2025 18:23:25 +0100 Subject: [PATCH] Update validate_yamllint.yml --- .github/workflows/validate_yamllint.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/validate_yamllint.yml b/.github/workflows/validate_yamllint.yml index 87a2c71..cf129a5 100644 --- a/.github/workflows/validate_yamllint.yml +++ b/.github/workflows/validate_yamllint.yml @@ -19,24 +19,29 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code - uses: actions/checkout@main + uses: actions/checkout@v4 with: - fetch-depth: '0' + fetch-depth: 0 # Ensures full commit history for diff - name: Identify changed files - uses: tj-actions/changed-files@v41 id: changed-files - with: - files: '**/*.y*ml' - separator: "," + run: | + BASE=${{ github.event.before }} + HEAD=${{ github.sha }} + FILES=$(git diff --name-only $BASE $HEAD -- '**/*.yml' '**/*.yaml' | tr '\n' ',') + echo "changed_files=$FILES" >> $GITHUB_ENV + if [[ -n "$FILES" ]]; then + echo "any_changed=true" >> $GITHUB_ENV + else + echo "any_changed=false" >> $GITHUB_ENV + fi - name: Validate YAML - if: steps.changed-files.outputs.any_changed == 'true' + if: env.any_changed == 'true' run: | - IFS=',' read -ra FILES <<< "${{ steps.changed-files.outputs.all_changed_files }}" + IFS=',' read -ra FILES <<< "${{ env.changed_files }}" for file in "${FILES[@]}"; do - if [[ "$file" =~ ^*\.yaml$ ]] || \ - [[ "$file" =~ ^ESPHome/*\.yaml$ ]]; then + if [[ "$file" =~ ^.*\.yaml$ ]] || [[ "$file" =~ ^ESPHome/.*\.yaml$ ]]; then echo "Skipping $file" continue fi