-
Notifications
You must be signed in to change notification settings - Fork 19
Description
This is really a two fold feature request:
- Be able to define what test suite (
rake
command?) is run for a given repo - Be able to configure a
default_suite
(s) for each repo (if it different than the default.
I have a lot of ideas on how we could do this, but to start, it might make sense to just have a test_suite_overrides.yml
(name pending) where it will override what rake task is used when a given repo is run.
manageiq-ui-classic
for example probably wants the javascript tests run instead of just the rake spec
task. That said, even just that poses problems because then we also have to consider any setup to make sure that the npm
/node
dependencies are in place, which will require some other features to be in place for this to function.
My thoughts on this is that it would probably be easier to just move scripts like setup.sh
into rake
tasks, so that we can use prerequisite tasks to make the following easier to make custom for each repo as needed:
manageiq-cross_repo/lib/manageiq/cross_repo/runner.rb
Lines 38 to 40 in 4698c81
system!({"TRAVIS_BUILD_DIR" => test_repo.path.to_s}, "bash", "tools/ci/before_install.sh") if ENV["CI"] && File.exist?("tools/ci/before_install.sh") | |
system!(env_vars, "bin/setup") | |
system!(script_cmd) |
But that might be a minority preference from myself.
There is probably more to this request then what I have outlined above, but I think it is something to consider as manageiq-ui-classic
was a perfect example in the Rails 6 upgrade where it was a complete blind spot. Specifically because we didn't test the javascript perspective, when it was a factor in allowing the test suite to pass properly once the effort was merged.
(though, in all fairness, the app did seem to boot just fine, just that the tests weren't functioning as a result, and became worthless).