-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Distinguish CI command runs from the rest #3233
Comments
I think a lot of different systems set References:
|
Thanks for the research, @TimMoore! Wouldn't we want to distinguish which is which tho? |
Maybe so... and those links show which variables each system uses... I was just thinking that There are a bunch of other CI/CD systems out there now that I've missed, too... seems to be a very active area. |
Is something wrong with Travis support? On Thu, Nov 6, 2014 at 12:11 AM, Tim Moore [email protected]
|
@joshk nothing at all, we're just planning on tagging command runs with specific CIs so that we can monitor those better. |
@andremedeiros are you running the Bundler test suite on several CI systems? |
@joshk that's for API usage monitoring :D |
AAAHHHHHHHH Well, we currently set a ruby agent for this. https://github.com/travis-ci/travis-cookbooks/blob/master/ci_environment/rvm/templates/default/bundler_config.yml.erb But in any case, using |
Oh riiiiiight I completely forgot about that. I don't know if Bundler can even handle nested keys in its config, though. Checking the ENV is probably more reliable across services. |
@indirect can you confirm/deny if our bundler config, which you advised us to add, is correct or not? — On Thu, Nov 6, 2014 at 4:56 PM, André Arko [email protected]
|
@joshk to be honest, I can't even tell where that config ends up. Is it in ~/.bundle? |
yes it is :) |
This patch add CI information on the user_agent in order for us to track if a given command was run by a CI, as discussed in rubygems#3233.
What about to distinguish command runs from non-interactive shells (CI, deploy, ...) also? But I'm not sure if that's easy to do universal check. |
If this turns out to be interesting, I can look for a way on how to do. Maybe open a new issue for that one? |
closed by #3646. |
Right now, the commands are being reported and counted without differentiation as to their source.
@indirect suggests we should split them up by source when they run on CI systems.
A brief research wielded these environment variables we can use to pinpoint what CI system is running:
TRAVIS
(or, even better,HAS_JOSH_K_SEAL_OF_APPROVAL
); /cc @joshkCIRCLECI
(or any of the other env variables it sets when starting a container);SEMAPHORE
;JENKINS_URL
;BUILDBOX
;CI_NAME
set tocodeship
;GO_SERVER_URL
;SNAP_CI
;Let me know if I've missed anything before I do the work for this.
The text was updated successfully, but these errors were encountered: