Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI Matrix Syntax #1145

Open
ptheywood opened this issue Nov 1, 2023 · 0 comments
Open

CI Matrix Syntax #1145

ptheywood opened this issue Nov 1, 2023 · 0 comments
Labels

Comments

@ptheywood
Copy link
Member

Our current (functional) matrix syntax is not technically correct according to the web editor:

Matrix options must only contain primitive values

I.e cudacxx is an object so not a primitive value.

This is currently functional, but given it is incorrect it could break if GitHub makes a change.

The matrix options are like this as they are dependent upon one another - i.e. the oldest gpu arch is cuda version specific.
Some Github support discussions do suggest using a list as a valid syntax however that doesn't sound like a primitive value to me.

We could potentially:

  • have a dictionary/map from a single value in the matrix which is used to lookup the currently nested compoents, storing the key in the matrix. This may increase the maintenance burden slightly, and might require reading from disk.
  • Switch to a dynamic build matrix (and reusable workflows), also allowing our CI to be more efficient or thorough depending on why it was triggered.
    • Reusable workflows would also allow a massive de-duplication of CI (i.e. the draft pr workflow duplicates the contents of 4 other workflow files currently.
    • a dynamic matrix would also mean we could react to say PR labels to perform thorough builds, or do lighter CI until a PR is marked as ready for review etc.
  • Something else.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant