diff --git a/.github/workflows/generate-storage-artifacts.yml b/.github/workflows/generate-storage-artifacts.yml index 5a27ecd69..35a78a680 100644 --- a/.github/workflows/generate-storage-artifacts.yml +++ b/.github/workflows/generate-storage-artifacts.yml @@ -21,14 +21,19 @@ jobs: id: set-matrix working-directory: packages/contracts run: | - # Find all contracts matching the patterns in core and libraries - find src/dollar/core -name '*.sol' > contracts.txt - find src/dollar/libraries -name 'Lib*.sol' >> contracts.txt - - # Generate the matrix from the list of contracts - if [ -s contracts.txt ]; then - echo "matrix=$(cat contracts.txt | jq -R -s -c 'split(\"\n\")[:-1]')" >> $GITHUB_OUTPUT - fi + # Collect all contracts from core and libraries + CONTRACTS="$(find src/dollar/core/*.sol src/dollar/libraries/Lib*.sol -type f)" + + for CONTRACT in $CONTRACTS; do + # Extract the contract name without the .sol extension + CONTRACT_NAME=$(basename "$CONTRACT" .sol) + + # Write : to contracts.txt + echo "${CONTRACT}:${CONTRACT_NAME}" >> contracts.txt + done + + # Set the matrix output + echo "matrix=$(cat contracts.txt | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT outputs: matrix: ${{ steps.set-matrix.outputs.matrix }}