diff --git a/.github/workflows/core-contracts-storage-check.yml b/.github/workflows/core-contracts-storage-check.yml index 01db6bfff..a7b2cc2b3 100644 --- a/.github/workflows/core-contracts-storage-check.yml +++ b/.github/workflows/core-contracts-storage-check.yml @@ -20,10 +20,24 @@ jobs: with: version: nightly - - id: set-matrix + - name: Narrow down test matrix scope to changed contracts to limit API requests + id: changed-contracts + uses: tj-actions/changed-files@v42 + with: + files_yaml: | + contracts: + - packages/contracts/src/dollar/core/*.sol + + - name: Set contracts matrix + id: set-matrix working-directory: packages/contracts + if: steps.changed-contracts.outputs.contracts_any_changed == 'true' + env: + CHANGED_CONTRACTS: ${{ steps.changed-contracts.outputs.contracts_all_changed_files }} run: | - forge tree | grep -E '^src/dollar/core' | cut -d' ' -f1 | xargs basename -s | cut -d'.' -f1 | xargs -I{} echo src/dollar/core/{}.sol:{} >> contracts.txt + for CONTRACT in "$CHANGED_CONTRACTS"; do + echo ${CONTRACT} | xargs basename -a | cut -d'.' -f1 | xargs -I{} echo src/dollar/core/{}.sol:{} >> contracts.txt + done echo "matrix=$(cat contracts.txt | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT outputs: