Hi,
when updating GHDL to v6.0.0 (#28337), I noticed all MSYS2 environments are triggered in parallel. In case of GHDL, only MinGW64 and UCRT64 will build the GHDL software, but 3 other environments are started up figuring out, no build action is needed. This wastes 7 minutes of CI time and GitHub resources.
A "prepare" job could compute the matrix of needed MSYS2 environments. GitHub allows loading a matrix from a JSON encoded string variable.
If you're interested, I could create a solution for this repository. This would:
- Add a prepare job to compute the needed jobs for the MSYS2 matrix.
- Check which packages are touched.
Do you already have a solution for this task?
- Look at
mingw_arch and extract which MSYS2 environments are necessary for a new build.
- Set current matrix as a dependency to the prepare job.
If you don't know me/my work, I maintain a few big CI pipelines on GitHub e.g.
Many of my pipelines are based on reusable YAML code from here: https://github.com/pyTooling/Actions
Hi,
when updating GHDL to v6.0.0 (#28337), I noticed all MSYS2 environments are triggered in parallel. In case of GHDL, only MinGW64 and UCRT64 will build the GHDL software, but 3 other environments are started up figuring out, no build action is needed. This wastes 7 minutes of CI time and GitHub resources.
A "prepare" job could compute the matrix of needed MSYS2 environments. GitHub allows loading a matrix from a JSON encoded string variable.
If you're interested, I could create a solution for this repository. This would:
Do you already have a solution for this task?
mingw_archand extract which MSYS2 environments are necessary for a new build.If you don't know me/my work, I maintain a few big CI pipelines on GitHub e.g.
Many of my pipelines are based on reusable YAML code from here: https://github.com/pyTooling/Actions