-
Notifications
You must be signed in to change notification settings - Fork 101
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
Set Arc location in Jenkins UI #19
Comments
Yes, currently it assumes that |
I'm not a Java developer or a jenkins expert. Is there prior art around installing required tools? The idea of providing a self-contained arcanist/phutil sounds nice in theory, but messy in practice. What do you think? |
Technically, the way to do this is to get the end-user to install arcanist themselves, but that is so messy at the moment that there could be any installation config, hence the arc path specification. If you use the Doxygen plugin, for example, you can specify the path or it will just use the PATH env variable to find the executable. This is great for Doxygen, which has it's own package installers, but terrible for arcanist, because it requires manual installation. There are plugins, like the Git plugin, which has an option to install automatically. I have no idea how this is set up or performed (PM, reserved installation, ?), and I've never tried it, because I can just do |
I think it's relatively easy to install (see #21) -- basically just cloning two repos, but that has prerequisites on PHP etc... I thought this was 2015? Isn't this the year of Linux on the desktop? Or is it google glass now. My memory is very poor. |
Well, you could write a script that detects the package manager, installs the pre-reqs, and then pulls the git, but I think that may be outside of the bounds of the reasonable expectation of the plugin. Most plugins assume that the tools are installed, but most tools have packages where Arcanist does not (Oh dang, I just saw that there are packages, just not for LTS yet). I think you could say that some features have requirements and then let things fail gracefully when the requirements aren't met. Year of Linux on the Desktop was about 2012-ish and the year of Google Glass was about two months in 2014. My memory is probably worse. ;) |
OK, I'll wait for a code review on #23 and merge and release version 1.2 and let y'all try it out and report the results. I'd love to figure out a sane way to install/letup arcanist/libphutil by default but I am shockingly low on free time these days. |
Thanks for all your hard work. I'm trying to get a Phab/Jenkins/Github combo setup for my startup and it would be impossible without this plugin and your improvements. You rock! |
Just released 1.2 version of the plugin. LMK how this works for you, and how we can improve it for future users. Sounds like the biggest win will be autodetecting/installing arcanist/libphutil if they're not available. Opened #24 to track. |
This is not quite working on my setup:
I'm running this on a slave with arc in the path (you gave me the idea for a symlink) and added the conduit token to the entry in settings in Jenkins. My first guess from this is that I've now been able to setup arc and the plugin calls it, but the plugin is not passing the token correctly, maybe not at all. |
Does the project have a
|
Definitely one thing that we're not currently doing, but should be doing, is passing the |
Oh. Then I think I'm confused about something: Do I have to get Jenkins to pull the source code, or should the plugin pull the differential and the master for me? This is not clear in the documentation. |
Yes, jenkins needs to gave git configured to point at your repo (otherwise how does it know which repo to apply the patch to?). I'll make a note to add it to the documentation. |
Yeah, I thought about that after I wrote that last part. It's the only thing that makes sense. I'll fix that and get back to you. |
Seems to be working now. Thanks! |
Problems like uber-archive#19 are misleading because it looks like a JSON parsing error, when we know there is no JSON to parse. Make the callers deal with the errors and print a useful error message as to why things are failing.
Currently the plugin does not allow to set the location of arcanist (or install it). Please allow Jenkins UI to set the location of (and possibly install) arcanist.
The text was updated successfully, but these errors were encountered: