'How do I create dynamic pipelines with multiple parameters (some optional) in github work flows?

I've been trialling gitlab to make dynamic pipelines based on changes in a mono repo but have hit a bug that makes that solution essentially unworkable so am looking to try github instead.

Basic workflow I had was:

  • Compare merge request branch to target branch and identify all changed files.
  • Identify which (visual studio) solutions need to be rebuilt based on dependencies of changed files.
  • Identify whether the solution includes NUnit or GTest tests.
  • Dynamically generate .yaml script containing jobs with build (and optional test instructions).
  • Pass the dynamic script back to the CI such that it launches all the build[and optional test] jobs.

I can see there's matrices that could potentially pass the required solution path but:

  1. All the examples have very simple looking text strings or numbers - can you pass dictionaries of options that way?
  2. Is there a cleaner way to dynamically generate jobs with more than one parameter for a single job?


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source