-
Notifications
You must be signed in to change notification settings - Fork 725
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
Add multiple jobs per repository #2646
Comments
Thanks for the feature request. Sorry, I'm confused by the feature you are asking for. Can you explain again please. |
Sure joshk, thanks for your interest. Imagine I have a repository called ProjectX . This corresponds to a huge project with lots of contributors and many things to test. Then I have two sets of test, TESTS_A and TESTS_B:
So I'd like to create two "jobs" in travisCI, each one to execute TESTS_A and the other one to execute TESTS_B, and specify different trigger conditions for each one. Ideally I would like that the more time expensive TESTS_B to be executed periodically every night, and thats why I mentioned that is another feature request that has already been issued around here. Is it now more clear? |
@crunis You could use environment variables to create jobs that only execute a subset of the tests. As for periodically kicking of a build, the only way to trigger them currently is through a push to GitHub (I think). |
Using environment variables and the build matrix indeed allows to do this. However, if your setup for the tests need to be different, it gives you 2 choices:
It could be good to allow defining different sets of before_install/install/scripts and having jobs running one of the other (depending on a setting in the job) |
@stof Thank you for outlining the possible workaround, I think those are a viable solution to the issue. |
Thanks for your feedback! |
@roidrage I discovered an even better way to do this thanks to an undocumented behavior of the matrix configuration: it allows to overwrite the config of build steps (even changing the VM being used). Can you tell me whether it is something which can continue to work in the future or just a side-effect of an implementation detail for which you don't want to preserve compatibility in the future ? |
Note that I find undocumented feature awesome. It allows to have different job configurations very easily and avoids having lots of unnecessary commands in the build output (which is the drawback of my previous workaround based on commands wrapped in environment variable checks) |
@stof Oh wow this is awesome. |
I just checked and it seems like it works. |
I will look into this further. This is partially expected, and not expected. The syntax is likely to change though, and it is possible we may limit this current syntax once we move to a changed syntax/api. Thanks for updating this issue though. Please do not promote this just yet as we need to evaluate if this will be support longterm. |
@joshk I suggest reopening the issue to keep track of progress on this |
@joshk any plan to reopen this issue to track the progress ? |
Hi @stof, I will not reopen this issue at the moment until I have had time to talk to the team and figure out where it sits in our roadmap. |
@joshk any news ? |
+1 for the feature (and for the workaround do not be removed in the meantime). |
Due to the 50 minute limit on MacOSX, multiple jobs feature is very welcome! |
@pietv, you might want to check out the "Parallelizing your builds across virtual machines" appraoch. According to the docs: |
@esmail thanks! yep, solved it along those lines:
So no longer really a problem! |
More CI builds This pull request adds more builds to AppVeyor and Travis CI. Different compilers and different standards are tested. The build environments for Travis CI are realized using Docker images. A clang-format-4.0-based style check is added to the CI. This is realized by exploiting undocumented Travis CI behavior, see travis-ci/travis-ci#2646 (comment) `cross_compile.sh` is removed and some new shell scripts are added in a new `util/` directory.
I don't get it, this is a no-brainer! I have a bash script, I want to test it in a bash setup. So, I need separate test setups for each of perhaps 15 scenarios. So .travis.yml .travis.2.yml .travis.3.yml would do this perfectly. Or .travis.bash.yml .travis.php.yaml etc etc. Hacking the matrix to achieve simple functionality seems too much work. |
Based on the tips from travis-ci/travis-ci#2646 For T678
In big projects, it would be useful to be able to create multiple jobs that test different parts of the project or simply that are more or less exhaustive, so we have small jobs that can run quick tests for PR feedback and other bigger jobs that can be run once a day and have a bigger code coverage.
The ability to run test periodically has already been requested in another feature request.
Great tool ! Keep the good work !
The text was updated successfully, but these errors were encountered: