Variables support in needs:parallel:matrix

It would very nice to be able to use variables in needs:parallel:matrix. This would allow having for one to one dependencies on a previous stage.

For example:

build:
  parallel:
    matrix:
      - architecture: [x86_64, arm]
        operating_system: [linux, macos]
test:
  parallel:
    matrix:
      - architecture: [x86_64, arm]
        operating_system: [linux, macos]

The intent is to have test only wait on build of the same architecture/OS. But currently, if you would like to do this, you would have to define 1 build, and 4 tests that map to each build. By adding variables to needs:parallel:matrix, we can dynamically assign each test stage to its own build stage by only defining 1 build and 1 test.