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: use a matrix for test configurations #940

Merged
merged 3 commits into from
Oct 10, 2023
Merged

Conversation

cagatay-y
Copy link
Contributor

Use a test configuration matrix to increase architecture testing parity, decrease CI configuration duplication and run tests at parallel, at the cost of increased compute and storage usage.

@mkroening mkroening self-assigned this Oct 4, 2023
@mkroening mkroening self-requested a review October 4, 2023 11:51
Copy link
Member

@mkroening mkroening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the PR! The CI times look very promising. :)

I added some comments.

Also, I'd like the cache to be restricted to main before merging this.

Nit: I think we can remove the parentheses from most literals.

.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Show resolved Hide resolved
@cagatay-y
Copy link
Contributor Author

After configuring with a single matrix, I think it may make more sense to create a basis action for the setup and use it with two separate matrices for the networked and not networked jobs.

@cagatay-y cagatay-y changed the title ci: use a matrix for test configurations ci: use a matrix for test configurations and do not cache pull requests Oct 6, 2023
@cagatay-y
Copy link
Contributor Author

I think the cache change works because the last cache item from this pull request on the list was added right before the commit that disabled caching. I normally wouldn't mix the two changes as they are not really related but I forgot that I was on the branch with the cache change.

@mkroening
Copy link
Member

I think it may make more sense to create a basis action for the setup

I'd rather not split the setup into different files. Having all this together makes it straightforward to understand for newcomers.

How about removing the netdev dimension, but explicitly adding it in the required cases? That would be inverting the description and work similar to what you are doing with flags. I am not sure, if that is possible, though.

think the cache change works

Looks good! 👍

I normally wouldn't mix the two changes as they are not really related but I forgot that I was on the branch with the cache change.

Feel free to wildly rebase and force-push on PRs. You could also extract that into another PR, so we can merge that already. :)
In the end, you can also squash most PRs. If you need any assistance with that, I am happy to help.

PS: You can re-request a review from me in the top right, when you want me to review again.

@cagatay-y
Copy link
Contributor Author

How about removing the netdev dimension, but explicitly adding it in the required cases? That would be inverting the description and work similar to what you are doing with flags. I am not sure, if that is possible, though.

I tried that but the configurations added via include overrode each other.

I opened a separate PR for the cache issue. After it is merged I will rebase this one on it and request a review.

@cagatay-y cagatay-y changed the title ci: use a matrix for test configurations and do not cache pull requests ci: use a matrix for test configurations Oct 6, 2023
Copy link
Member

@mkroening mkroening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great. Only one more nit. Thereafter, I'll merge this. 👍

.github/workflows/ci.yml Outdated Show resolved Hide resolved
A shorter job name will allow configuration matrix variables to be visible in the overview

Co-authored-by: Martin Kröning <[email protected]>
@cagatay-y
Copy link
Contributor Author

This looks great. Only one more nit. Thereafter, I'll merge this. 👍

Makes a lot of sense, I had to resize the left pane via inspect element during testing 😂

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@mkroening mkroening added this pull request to the merge queue Oct 10, 2023
Merged via the queue into hermit-os:main with commit 9ff9bec Oct 10, 2023
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants