-
Notifications
You must be signed in to change notification settings - Fork 167
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
CI for llnode? #777
Comments
I started to set up a couple of jobs:
I haven't run them (sure to be lots of bugs), and I assume the Linux ones will fail. I've given @nodejs/post-mortem-admins and @bnoordhuis access, so feel free to modify. We'll need to install llnode on ubuntu, so that'll require a PR to the I'll sort the pipeline out tomorrow. I tried testing on my local machine, but I'll have to get past the configure error first: ➜ llnode git:(pr-109) ❯ npm i
> llnode@1.5.1 preinstall /Users/gib/wrk/com/llnode
> node scripts/configure.js
Build dir is: /Users/gib/wrk/com/llnode
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Unable to locate lldb binary. llnode installation failed.
➜ llnode git:(pr-109) ❯ which lldb ~/wrk/com/llnode
/usr/bin/lldb
➜ llnode git:(pr-109) ❯ lldb --version ~/wrk/com/llnode
lldb-370.0.42
Swift-3.1 |
Note that there's also Scripts from the
|
Thanks Gibson, nice work. Maiden run: https://ci.nodejs.org/view/post-mortem/job/llnode-pipeline/1/ - doesn't seem to work yet though but it makes up for that in speed (23 ms!) Naive question perhaps but how do I go about debugging that? Or do I just need to wait a little longer? |
@gibfahn many thanks for setting this up. Just curious, why the extra 'pipeline' build? For node-report we have just a single build. |
If you want to trigger the build for Node 4, 6, 8 then you have to run the build three times. I'm lazy so I just have a pipeline that triggers things.
Yep, I need to sort out the pipeline. I'll try to get to that in a bit. |
@gibfahn There is a travis build here https://travis-ci.org/nodejs/llnode - we just accepted a PR to make it point at the right place which has caused me to notice it's broken. I'm working on fixes: nodejs/llnode#110 (Disclaimer, I didn't setup travis so I'm not sure how it relates to everything else.) |
@hhellyer Travis doesn't have access to the organization (disallowed, it requests private access) so I don't think that's ultimately going to work. |
It is better to test with the Node.js community CI as it also gives us the option of full platform coverage. |
@gibfahn Were you able to make progress on this? (Can't check myself, CI is currently under lock-down.) |
Okay, I've gotten the pipeline to work. It looks a bit mental but I'm not aware of an easier way of creating an arbitrary number of jobs. If you're just running against one version of Node just run llnode-continuous-integration. If you want to run this on a PR (for example), then using the pipeline should be easier. Next steps are to actually fix the job itself. That's where it might be more of a @bnoordhuis or @nodejs/post-mortem issue. |
I note that the only members of @nodejs/post-mortem-admins are @mhdawson and @rnchamberlain. I think we should expand the membership to include people who are interested in setting up and maintaining the Jenkins jobs. I'd suggest @indutny @bnoordhuis and @hhellyer , but I haven't been very involved in |
@gibfahn I just tried to start https://ci.nodejs.org/view/post-mortem/job/llnode-pipeline/ but it says "master is offline."
Yes, that should cover it. |
"master is offline" is because of #825 (comment) , I can fix it. |
Thanks @joaocgreis, I can confirm that it's working now. |
@gibfahn The Jenkins job is currently broken, I think it's probably because the build flow of llnode has changed (although the test suite itself was a bit flaky). I've got the Travis working in nodejs/llnode#144, a fix to Jenkins would probably involve getting the scripts up-to-date similar to what's done in https://github.com/joyeecheung/llnode/blob/ae83fe8384fb37f6039b4fe2c9f07c3e852727e9/.travis.yml (we might want a makefile target for Jenkins). Can I have the permission to configure the Jenkins job? I would like to make it work with Node core PRs as well. (refs: nodejs/post-mortem#50 (comment)) |
@joyeecheung is this the one that you need access to: https://ci.nodejs.org/view/post-mortem/job/llnode-pipeline/ ? |
I gave nodejs/build permission to access llnode-pipeline and llnode-continuous-integration, which should be enough. |
The llnode CI isn't working right now, but hopefully by committing this we can then iterate in GitHub. Refs: nodejs#777
The llnode CI isn't working right now, but hopefully by committing this we can then iterate in GitHub. Refs: nodejs#777
* jenkins: add llnode pipeline and shell scripts The llnode CI isn't working right now, but hopefully by committing this we can then iterate in GitHub. Refs: #777 Responsible-commiter: Refael Ackermann <refack@gmail.com> Reviewed-By: Matheus Marchini <matheus@sthima.com>
Does https://ci.nodejs.org/job/llnode-continuous-integration/ meet the need here? Or is there more to be done? |
@joyeecheung @mmarchini You're probably better qualified to answer that, you've been involved with llnode more than me lately. |
Last time I tried https://ci.nodejs.org/job/llnode-continuous-integration/ it wasn't working properly. TBH I think we can close this. llnode test suite (which is using Travis) has been quite useful lately and covers a lot of cases (multiple Node.js versions on Linux and OS X). Keeping it on a 3rd party CI is one less thing for the build wg to worry about. I'm closing this issue, feel free to reopen it if you believe we should still have a Jenkins CI for llnode. |
Testing llnode on OS X + Linux with a range of node.js and lldb versions would help catch snafus like nodejs/llnode#109.
On OS X, I think testing against the lldb that Apple ships with the latest Xcode is good enough. On Linux, a good matrix would be the cross product of:
I'm happy to help with the setup.
The text was updated successfully, but these errors were encountered: