TL;DR

My matrix looks like:

# invoke.yaml - PyInvoke Configuration for Salted Containers Matrix Validation
run:
  echo: true
  pty: true

# Matrix build parameters for Salted containers
matrix:
  distros:
    - ubuntu-22.04
    - ubuntu-20.04
    - debian-11
    - debian-12
  salt_versions:
    - "3006.1"
    - "3005.1"
    - "3004.2"
  engines:
    - reclass
    - saltclass

# Default deployment / testing configuration
defaults:
  saltmaster:
    config_dir: "/etc/salt"
    formulas_path: "/srv/salt/formulas"
    states_path: "/srv/salt/states"
    pillar_path: "/srv/salt/pillar"
  validation:
    ignore_missing_pillar: false
    fail_on_warning: true
    reclass_nodes_dir: "/srv/salt/reclass/nodes"

Tools evaluated

To solve the issue I wrote a simple "makefile" specification with PyInvoke .