Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 563223 - Provide an infra validation job
Summary: Provide an infra validation job
Status: CLOSED FIXED
Alias: None
Product: CBI
Classification: Technology
Component: build help (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: CBI Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 563645
  Show dependency tree
 
Reported: 2020-05-15 10:53 EDT by Denis Roy CLA
Modified: 2021-10-06 06:06 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Roy CLA 2020-05-15 10:53:54 EDT
The entire CBI has a lot of moving parts. Many are on the infra side (authentication, servers, storage, Nexus, Signing, Git, k8s). Many more exist on the project side (size of repo, the many tasks in the job, ant, maven, tycho, dependencies, version mismatches, Xmx settings, external slaves, ...)


We're reaching a point where it feels that build slowness/breakage leads to a bug, where the Eclipse infra team must effectively prove that the infra is running correctly.


Sometimes the infra is broken. Most often it's not.


Please provision a typical 80-percent job that runs a build: checkout from Gerrit, checkout from GitHub, pull a dependency from maven, build stuff, sign, copy to download, upload to Nexus, update a web page, tag a repo, then exit.  Run this job every... hour?  Then never modify the underlying code -- this will provide benchmarks and trends for the time it takes to run the various tasks, and also demonstrate when there is something broken with the infra -- and when there is not.
Comment 1 Matthias Sohn CLA 2020-06-02 09:49:49 EDT
(In reply to Denis Roy from comment #0)
> The entire CBI has a lot of moving parts. Many are on the infra side
> (authentication, servers, storage, Nexus, Signing, Git, k8s). Many more
> exist on the project side (size of repo, the many tasks in the job, ant,
> maven, tycho, dependencies, version mismatches, Xmx settings, external
> slaves, ...)
> 
> 
> We're reaching a point where it feels that build slowness/breakage leads to
> a bug, where the Eclipse infra team must effectively prove that the infra is
> running correctly.
> 
> 
> Sometimes the infra is broken. Most often it's not.
> 
> 
> Please provision a typical 80-percent job that runs a build: checkout from
> Gerrit, checkout from GitHub, pull a dependency from maven, build stuff,
> sign, copy to download, upload to Nexus, update a web page, tag a repo, then
> exit.  Run this job every... hour?  Then never modify the underlying code --
> this will provide benchmarks and trends for the time it takes to run the
> various tasks, and also demonstrate when there is something broken with the
> infra -- and when there is not.

you may consider to run the build of an existing project using a fixed version of that project to serve as this infra test
Comment 2 Frederic Gurr CLA 2020-06-02 10:30:19 EDT
I agree that we need a set of test jobs that help us to distinguish between dev and infra related issues.

This won't be a/the silver bullet though.

For example, if one node in the cluster has an issue, we won't necessarily find this by running test jobs, since they may be scheduled on a different node.

We also can't recreate all particularities of projects that have a higher chance of causing issues (lots of I/O, high CPU demands, tons of files, etc).
Comment 3 Sravan Kumar Lakkimsetti CLA 2020-06-02 14:26:37 EDT
May be you can try using https://ci.eclipse.org/platform/job/eclipse-aggregator-master/

This is the minimal build set up and this does the following

1. Git operations to get latest source from git. 
2. run maven build on the source.

This job without -Peclipse-sign profile should complete within an hour. with -Peclipse-sign maven profile it will take another 20 minutes extra. 

Here are some of the features
1. 501 maven projects in a single reactor
2. There will be lots of disk I/O and lot of input from eclipse p2 repositories.

If you add eclipse-sign profile this will test the signing services as well.

I believe this will test k8s, nexus and signing.
Comment 4 Mikaël Barbero CLA 2021-10-06 06:06:13 EDT
We have https://ci.eclipse.org/cbi/job/bench-jgit/ and https://ci.eclipse.org/cbi/job/bench-guava/ for a while now with build time trends (e.g., https://ci.eclipse.org/cbi/job/bench-guava/buildTimeTrend).