Skip to content

add fetch

add fetch #25

name: Changed files
on:
push:
branches:
- Optimize-GH-CI-Workflow
jobs:
setup-matrix:
runs-on: ubuntu-latest
name: Setup test matrix scenarios
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup test matrix scenarios
id: setup-matrix-scenarios
run: |
set -eux
matrix=$(find $GITHUB_WORKSPACE/scenarios/ -name "*.json" | awk -F'/' '{split($11, file_name, "."); split(file_name[1], cloud_region, "-");region= (length(cloud_region) > 1) ? substr($11, index($11, "-") + 1) : ""; cloud=cloud_region[1]; gsub(".json", "", region); print "{\"cloud\": \"" cloud "\", \"file_name\": \"" file_name[1] "\", " (region != "" ? "\"region\": \"" region "\", " : "") "\"scenario_type\": \"" $8 "\", \"scenario_name\": \"" $9 "\"},"}' | sort | uniq | sed 's/,$/,/')
# matrix="${matrix//$'\n'/''}"
# echo "matrix_combinations={\"include\": [${matrix%?}]}" >> "$GITHUB_OUTPUT"
echo $matrix
file_changes=$(git diff --name-only -r origin/main HEAD | grep -Ev '\.md$|\.github/' | xargs)
terraform_provider_changes=$(echo "$file_changes" | grep -E '\.tf$' | awk -F'/' '{print $3}' | xargs)
if [ $(echo "$terraform_provider_changes" | wc -w) -eq 1 ]; then
matrix=$(echo "$matrix" | jq 'any(.cloud == "$cloud")'; echo $?)
fi
echo "matrix: $matrix"