Skip to content
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

[WIP] Add pipeline script for node-inspect #956

Closed
wants to merge 3 commits into from

Conversation

jkrems
Copy link

@jkrems jkrems commented Oct 30, 2017

Highly WIP but I guess it's better to put it here before I lose my local docker container...

  • Figure out if there's a maintainable way to do the multi-arch builds
  • Support build against nightlies (quick hack: just support ORG_MIRROR via param?)
  • Support setting the commit/PR status (optional)

See:

jkrems

This comment was marked as off-topic.

jkrems

This comment was marked as off-topic.

gibfahn

This comment was marked as off-topic.

@jkrems
Copy link
Author

jkrems commented Oct 31, 2017

I'm really tempted to walk back on the declarative syntax here given the amount of repetition once all possible architectures are added. Unless we'd move that logic to an inline script {} section and not model it as parallel stages. Would have to see how that would be rendered in the UI.

@refack
Copy link
Contributor

refack commented Oct 31, 2017

This is what came out https://ci.nodejs.org/job/node-inspect/2/flowGraphTable/
(first steps are checking out the pipeline script itself from @jkrems's fork)

@jkrems
Copy link
Author

jkrems commented Oct 31, 2017

Can someone give nodejs/node-inspect#53 a quick look to get the latest tap into master?

@jkrems
Copy link
Author

jkrems commented Oct 31, 2017

For reference, here's how an example run renders in blue ocean when I was testing this script locally:

screen shot 2017-10-31 at 1 44 44 pm

That view makes the job output a lot easier to consume. Unfortunately the out-of-the-box experience of looking at parallel stages in Jenkins is pretty bad (by which I mean pretty much unusable). :(

@refack
Copy link
Contributor

refack commented Nov 1, 2017

That view makes the job output a lot easier to consume. Unfortunately the out-of-the-box experience of looking at parallel stages in Jenkins is pretty bad (by which I mean pretty much unusable). :(

It's not that bad, it's just not trivial to find:

@jkrems
Copy link
Author

jkrems commented Nov 1, 2017

Yes, I know. But with non-trivial workflows (e.g. parallel + anything happening afterwards) the flattened stage view becomes super confusing [especially if any stage name isn't globally unique]. This isn't a problem yet here (since it has just two fake "architectures" right now and nothing happening afterwards) but it won't get any better the more complex the workflow gets. Though maybe it'll be fine for node's builds. I might be scared by our internal deployment pipeline builds (with multiple validation stages consisting of parallelized things).

@refack
Copy link
Contributor

refack commented Nov 1, 2017

@jkrems the log visibility issue was brought up by @joaocgreis and AFAIK is the last hindrance for full adoption.
But as I see it we can continue to use MultiJob. With the current setup the fan-out is the last step of each sub-job and any other steps after that are in a new sub-job. So the flattened log is not that bad, just requires learning where to look for the failures.

On the other hand the step tree:
image
Allows for a not log-reading-dependant way to quickly figure out what failed.


tl;dr IMHO we should move away from log-based-groking to using parsing plugins (like tap or tap2junit), while also look-for/develop a better log parser.

@jkrems jkrems force-pushed the jk-node-inspect-pipeline branch from 1c9f355 to 4781766 Compare November 8, 2017 15:57
@jkrems jkrems force-pushed the jk-node-inspect-pipeline branch from 696b8c3 to 1fb7b60 Compare November 8, 2017 16:19
@sam-github
Copy link
Contributor

Stale pipeline PR related to the pipeline experiment.

@sam-github sam-github closed this Jan 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants