Skip to content

Update CI structure #830

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

Closed
UebelAndre opened this issue Jul 10, 2021 · 4 comments
Closed

Update CI structure #830

UebelAndre opened this issue Jul 10, 2021 · 4 comments

Comments

@UebelAndre
Copy link
Collaborator

UebelAndre commented Jul 10, 2021

Right now we have CI jobs that build and test the core rules and docs and examples in the same job. This may be nice from the perspective of resource management in CI but means that we have very coupled test cases and can end up in situations where examples have crossed boundaries into integration tests (#789) and are no longer useful as examples users can look at to figure out what to do or we introduce a coupling with an aspect and cannot build without a particular configuration (#824 (review)).

I'd propose having the following structure for CI

Job Runners Builds
Buildifier (wherever that runs now) 1
Build and test //... with no configurations macos rbe_ubuntu1604 ubuntu2004 windows 4
Build and test //... clang with no configurations ubuntu2004 1
Build and test //... min Bazel version with no configurations ubuntu1804 1
Build and test //... with all aspects macos rbe_ubuntu1604 ubuntu2004 windows 4
Test clippy failures ubuntu2004 1
Test rustfmt failures ubuntu2004 1
Build and test examples with all aspects macos rbe_ubuntu1604 ubuntu2004 windows 4
Build docs ubuntu2004 1
Build crate_universe examples macos rbe_ubuntu1604 ubuntu2004 windows 4

Total Jobs: 15 -> 22

edit: readability
ps: If it's not obvious, //... would continue to not include examples and docs. We would re-write docs/WORKSPACE.bazel and examples/WORKSPACE.bazel to be normal looking WORKSPACE files (not all just call wrapper macros).

@UebelAndre
Copy link
Collaborator Author

Would love your thoughts @illicitonion @dfreese @hlopko

@UebelAndre
Copy link
Collaborator Author

UebelAndre commented Jul 10, 2021

#828 would probably also be added as another set of tests

Job Runners Builds
Build and test //... with no configurations on min rust version` macos rbe_ubuntu1604 ubuntu2004 windows 4

Total Jobs: 15 -> 26

@UebelAndre
Copy link
Collaborator Author

I think the only thing left to do here is add something which tests a pinned version of Rust. Not quite sure how to implement a toggle such that a particular CI job could define this.

@UebelAndre
Copy link
Collaborator Author

This was completed by #1720

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant