PR Changes Matrix Builder
This Action will generate a output variable that can be used to generate a dynamic matrix job.
This is often need for repos that contain many apps, here are a few examples:
Terraform Infrastructure: At my current job we have a single repo with all of our cloud infrastructure. Each folder is deployed individually, so being able to detect what folders have been changed can build a matrix for each terraform plan command.
ArgoCD: This is a single repo with all of our ArgoCD apps. Each folder is deployed individually, so being able to detect what folders have been changed can build a matrix for each ArgoCD command.
Helm chart: At my current job we have a collection of generic helm charts. Each folder is a chart that is individually deployed, tagged, and released.
This action is based on a quick POC in KyleJamesWalker/action-playground PR#3 and expands on a command like:
# Github Command $ gh pr view 3 --repo KyleJamesWalker/action-playground --json files --jq '.files..path' | cut -d "/" -f1 | grep -v '[\\|\.]' | sort | uniq | jq --raw-input . # Example Output "example_1" "example_2"