Skip to content
This repository was archived by the owner on Apr 29, 2020. It is now read-only.

CI pipeline for js-ipfs and js-ipfs-api #73

Closed
victorb opened this issue Aug 2, 2018 · 8 comments
Closed

CI pipeline for js-ipfs and js-ipfs-api #73

victorb opened this issue Aug 2, 2018 · 8 comments

Comments

@victorb
Copy link
Contributor

victorb commented Aug 2, 2018

From @alanshaw

Hopefully this is the right place for this 😟 ...

I'd like to modify the CI pipeline for js-ipfs and js-ipfs-api. The issues I have right now that I'd like to resolve are:

  • It takes a long time to be informed of a failure in web worker tests, because they're run sequentially after the nodejs tests and browser tests
  • The browser tests and web worker tests are run multiple times on different node versions, but they don't need to be because they are run in the browser and the only thing that needs to change is the OS
  • Tests would take less time to complete if nodejs/browser/webworker were performed in parallel

Would like a pipeline like this for example:

MacOS node8
MacOS node10
MacOS browser
MacOS web worker
Linux node8
Linux node10
Linux browser
Linux web worker
Windows node8
Windows node10
Windows browser
Windows web worker

Soon, would like to add:

MacOS service worker
Windows service worker
Linux service worker

Moved from ipfs/infra#421

@alanshaw
Copy link

alanshaw commented Aug 2, 2018

Thanks for moving this! :D

@victorb
Copy link
Contributor Author

victorb commented Aug 4, 2018

Started working on this to have parallel jobs for the different parts of a typical aegir build, but hit the same issue we've hit before. The more parallel job you kick of in a pipeline, the slower each individual job in the parallel becomes, most probably because of how jenkins handles log. Was first raised here: ipfs-inactive/jenkins#116

Trying to find a alternative way around it where we can have many parallel jobs happening without degrading the performance so much.

@alanshaw
Copy link

alanshaw commented Aug 6, 2018

Implied but probably worth mentioning I still want the codelint, commitlint, and coverage jobs :P

@alanshaw
Copy link

alanshaw commented Aug 6, 2018

Started working on this to have parallel jobs for the different parts of a typical aegir build, but hit the same issue we've hit before. The more parallel job you kick of in a pipeline, the slower each individual job in the parallel becomes, most probably because of how jenkins handles log. Was first raised here: ipfs-inactive/jenkins#116

😭 that's bad news bears. I didn't know about this Jenkins issue.

Trying to find a alternative way around it where we can have many parallel jobs happening without degrading the performance so much.

That would be so awesome.

@alanshaw
Copy link

Can we work around this with multiple Jenkins? McJenkins, WinJenkins, LinJenkins...

@victorb
Copy link
Contributor Author

victorb commented Aug 14, 2018

I don't think adding additional masters would help with the issue itself, it would also add a lot of operational management of Jenkins that I don't think we currently need more of.

@alanshaw
Copy link

alanshaw commented Sep 6, 2018

@victorbjelkholm what's the current status of this? Can we at least test out a pipeline like what I proposed above?

@victorb
Copy link
Contributor Author

victorb commented Sep 25, 2018

With merged ipfs-inactive/jenkins-libs#35, we get most of the improvements mentioned here, except fast reporting of all platforms (still a bit faster as node + browser + webworker tests are parallalized now). If we can get faster npm install, that'll make it even better! But closing this now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants