Heads up on CI job for building ECF with Tycho

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Heads up on CI job for building ECF with Tycho

Mykola Nikishov
Hi,

* Where are we now?

There is [Bug 493753] to track progress. I've created two jobs on
[Jenkins] that could be triggered by the new Gerrit change and expose
their p2 repository:
• [Maven job], [p2 repository]
• [Freestyle job], [p2 repository]

Both jobs are in silent mode, they will not vote back on submitted
changes yet.

[Bug 493753] https://bugs.eclipse.org/bugs/show_bug.cgi?id=493753

[Jenkins] https://hudson.eclipse.org/ecf/

[Maven job] https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/

[p2 repository]
https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/lastSuccessfulBuild/artifact/

[Freestyle job]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/

[p2 repository]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/lastSuccessfulBuild/artifact/


* Why two jobs?

[Maven job type] tries to provide Maven-specific configurations and
integrations for different jobs:
• [Building a maven2 project - Jenkins - Jenkins Wiki]
• [Maven Project Plugin - Jenkins - Jenkins Wiki]

Unfortunately, Maven job type knows nothing about [POM-less projects]
(which is a plain Maven project that uses [Maven core extensions]) -
Hudson/Jenkins creates internal representation of the project to build
using its own implementation. There is [JENKINS-30058 - Support Maven
Core Extensions] for Jenkins and none I'm aware of for Hudson ([Bug
408661 - Maven 3 build trigger not working for Tycho projects] is the
only relevant one).

Another (more serious) problem is that Maven job type is actually
deprecated ([this post], for instance) and not actively supported by
both Jenkins and Hudson communities. I'm not sure that support for
POM-less projects will be implemented in the foreseeable future.

That's why I've created a freestyle type job that is free from the
limitations of the Maven job type but requires more initial
configuration and (I'm speculating a little here) support in the
future.


[Maven job type]
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Building a maven2 project - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Maven Project Plugin - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin

[POM-less projects]
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

[Maven core extensions]
http://takari.io/2015/03/19/core-extensions.html

[JENKINS-30058 - Support Maven Core Extensions]
https://issues.jenkins-ci.org/browse/JENKINS-30058

[Bug 408661 - Maven 3 build trigger not working for Tycho projects]
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408661

[this post]
https://groups.google.com/d/msg/jenkinsci-users/MEm6QMAfimM/fq7AfeyrOgAJ


* Where to go?

Either freestyle or maven job type will survive. As I think POM-less
Tycho configuration is the way to go, due to inability to handle
POM-less Maven projects, I'm for freestyle job type. But that's not
(only ;-) ) me who should decide.

Decide on how build will vote on changes.

Disable silent mode and provide feedback to Gerrit change.

Enable Buckminster build and get a 'canonical' version of ECF p2
repository alongside p2 repository built with Tycho. Which may be handy
to debug issues with Tycho build.

--
Mykola
https://manandbytes.github.io/

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Heads up on CI job for building ECF with Tycho

Wim Jongman-2
Hi Mykola,

Thank you for the analysis. I think it is best to use a freestyle project but not go pom-less. I had a discussion today on this bug [1] where i tried to do a pom-less build for Nebula. I found out that it has several drawbacks but no real advantages.Please check out the bug and let me know what you think.

+1 for a freestyle projects
-1 for pom-less
+1 for switching off silent mode
-1 for buckminster, we have it running elsewhere

We want to run the build in several smaller chunks. Our build gets checked in on github here [2] to give you an idea of the complexity ;).

[1] Bug 493984 - Provide pom-less build for Nebula
Cheers,

Wim



On Thu, May 19, 2016 at 8:19 AM, Mykola Nikishov <[hidden email]> wrote:
Hi,

* Where are we now?

There is [Bug 493753] to track progress. I've created two jobs on
[Jenkins] that could be triggered by the new Gerrit change and expose
their p2 repository:
• [Maven job], [p2 repository]
• [Freestyle job], [p2 repository]

Both jobs are in silent mode, they will not vote back on submitted
changes yet.

[Bug 493753] https://bugs.eclipse.org/bugs/show_bug.cgi?id=493753

[Jenkins] https://hudson.eclipse.org/ecf/

[Maven job] https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/

[p2 repository]
https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/lastSuccessfulBuild/artifact/

[Freestyle job]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/

[p2 repository]
https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/lastSuccessfulBuild/artifact/


* Why two jobs?

[Maven job type] tries to provide Maven-specific configurations and
integrations for different jobs:
• [Building a maven2 project - Jenkins - Jenkins Wiki]
• [Maven Project Plugin - Jenkins - Jenkins Wiki]

Unfortunately, Maven job type knows nothing about [POM-less projects]
(which is a plain Maven project that uses [Maven core extensions]) -
Hudson/Jenkins creates internal representation of the project to build
using its own implementation. There is [JENKINS-30058 - Support Maven
Core Extensions] for Jenkins and none I'm aware of for Hudson ([Bug
408661 - Maven 3 build trigger not working for Tycho projects] is the
only relevant one).

Another (more serious) problem is that Maven job type is actually
deprecated ([this post], for instance) and not actively supported by
both Jenkins and Hudson communities. I'm not sure that support for
POM-less projects will be implemented in the foreseeable future.

That's why I've created a freestyle type job that is free from the
limitations of the Maven job type but requires more initial
configuration and (I'm speculating a little here) support in the
future.


[Maven job type]
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Building a maven2 project - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project

[Maven Project Plugin - Jenkins - Jenkins Wiki]
https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin

[POM-less projects]
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

[Maven core extensions]
http://takari.io/2015/03/19/core-extensions.html

[JENKINS-30058 - Support Maven Core Extensions]
https://issues.jenkins-ci.org/browse/JENKINS-30058

[Bug 408661 - Maven 3 build trigger not working for Tycho projects]
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408661

[this post]
https://groups.google.com/d/msg/jenkinsci-users/MEm6QMAfimM/fq7AfeyrOgAJ


* Where to go?

Either freestyle or maven job type will survive. As I think POM-less
Tycho configuration is the way to go, due to inability to handle
POM-less Maven projects, I'm for freestyle job type. But that's not
(only ;-) ) me who should decide.

Decide on how build will vote on changes.

Disable silent mode and provide feedback to Gerrit change.

Enable Buckminster build and get a 'canonical' version of ECF p2
repository alongside p2 repository built with Tycho. Which may be handy
to debug issues with Tycho build.

--
Mykola
https://manandbytes.github.io/

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Heads up on CI job for building ECF with Tycho

Scott Lewis-2
In reply to this post by Mykola Nikishov
Hi Mykola,

First, thanks for the work.

On 5/18/2016 11:19 PM, Mykola Nikishov wrote:

> Hi,
>
> * Where are we now?
>
> There is [Bug 493753] to track progress. I've created two jobs on
> [Jenkins] that could be triggered by the new Gerrit change and expose
> their p2 repository:
> • [Maven job], [p2 repository]
> • [Freestyle job], [p2 repository]
>
> Both jobs are in silent mode, they will not vote back on submitted
> changes yet.
>
> [Bug 493753] https://bugs.eclipse.org/bugs/show_bug.cgi?id=493753
>
> [Jenkins] https://hudson.eclipse.org/ecf/
>
> [Maven job] https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/
>
> [p2 repository]
> https://hudson.eclipse.org/ecf/job/ecf-tycho.maven.gerrit/lastSuccessfulBuild/artifact/
>
> [Freestyle job]
> https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/
>
> [p2 repository]
> https://hudson.eclipse.org/ecf/job/ecf-tycho.freestyle.gerrit/lastSuccessfulBuild/artifact/
>
>
> * Why two jobs?
>
> [Maven job type] tries to provide Maven-specific configurations and
> integrations for different jobs:
> • [Building a maven2 project - Jenkins - Jenkins Wiki]
> • [Maven Project Plugin - Jenkins - Jenkins Wiki]
>
> Unfortunately, Maven job type knows nothing about [POM-less projects]
> (which is a plain Maven project that uses [Maven core extensions]) -
> Hudson/Jenkins creates internal representation of the project to build
> using its own implementation. There is [JENKINS-30058 - Support Maven
> Core Extensions] for Jenkins and none I'm aware of for Hudson ([Bug
> 408661 - Maven 3 build trigger not working for Tycho projects] is the
> only relevant one).
>
> Another (more serious) problem is that Maven job type is actually
> deprecated ([this post], for instance) and not actively supported by
> both Jenkins and Hudson communities. I'm not sure that support for
> POM-less projects will be implemented in the foreseeable future.
>
> That's why I've created a freestyle type job that is free from the
> limitations of the Maven job type but requires more initial
> configuration and (I'm speculating a little here) support in the
> future.
>
>
> [Maven job type]
> https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project
>
> [Building a maven2 project - Jenkins - Jenkins Wiki]
> https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project
>
> [Maven Project Plugin - Jenkins - Jenkins Wiki]
> https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin
>
> [POM-less projects]
> https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds
>
> [Maven core extensions]
> http://takari.io/2015/03/19/core-extensions.html
>
> [JENKINS-30058 - Support Maven Core Extensions]
> https://issues.jenkins-ci.org/browse/JENKINS-30058
>
> [Bug 408661 - Maven 3 build trigger not working for Tycho projects]
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=408661
>
> [this post]
> https://groups.google.com/d/msg/jenkinsci-users/MEm6QMAfimM/fq7AfeyrOgAJ
>
>
> * Where to go?
>
> Either freestyle or maven job type will survive. As I think POM-less
> Tycho configuration is the way to go, due to inability to handle
> POM-less Maven projects, I'm for freestyle job type. But that's not
> (only ;-) ) me who should decide.

Could I ask you to summarize (e.g. on bug 493753) what the advantages
and disadvantages are WRT 'freestyle' vs. 'maven'?

And I noticed that only the ECF filetransfer features/bundles are
included in the new hipp builds that you point to above.    At some
point, we are going to have to include all the ECF sdk features and
bundles...which results in a question:  would including all of the ECF
sdk features/bundles have any implications for the 'freestyle' vs.
'maven' decision?  (e.g. pom or not?)

>
> Decide on how build will vote on changes.

I don't understand what you mean by 'how build will vote on changes'.  
Could you explain?

Thanks,

Scott



>
> Disable silent mode and provide feedback to Gerrit change.
>
> Enable Buckminster build and get a 'canonical' version of ECF p2
> repository alongside p2 repository built with Tycho. Which may be handy
> to debug issues with Tycho build.
>

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Heads up on CI job for building ECF with Tycho

Wim Jongman-2



Decide on how build will vote on changes.

I don't understand what you mean by 'how build will vote on changes'.  Could you explain?


The build can vote +1 or -1 on a Gerrit change depending on the outcome of the build.


_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Heads up on CI job for building ECF with Tycho

Mykola Nikishov
In reply to this post by Mykola Nikishov
Mykola Nikishov <[hidden email]> writes:

> * Where are we now?

Sorry for being silent for a long time, will summarize after
@EclipseCon.

--
Mykola
https://manandbytes.github.io/

_______________________________________________
ecf-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev