[ 
https://issues.apache.org/jira/browse/THRIFT-3620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15145794#comment-15145794
 ] 

Aki Sukegawa commented on THRIFT-3620:
--------------------------------------

[~jsirois] I've never toutched Jenkins but have written substantial part of 
travis build, so let me share my view.

Honestly, I didn't know until recently that any committer can have access to 
Jenkins jobs and I got to know it when I stumbled upon a mail in Aurora dev 
where Bill Farner set up the permission for you.
Didn't even imagine I was going to see you fixing our build shortly after :)

Anyway, since then these are on my TODO list but I never started working on it.
[~jfarrell] to be clear, I'm willing to work on at least some of them once you 
set up the Jenkins permission for me.

h3. enable make cross

{{make cross}} runs a whole combinations of cross language server-client 
integration tests.

We really need to finally run it on Jenkins, not only on Travis. It'll take ~20 
min though.

h3. run cmake, ctest and cpack

We're trying to migrate our entire build scripts from Autotool to CMake.

We need to run it, not only on Travis.

h3. run windows (C/C++) build

It is especially needed to detect VC++/Win32-only failures for C/C\+\+ code.

I've setup a minimal Appveyor build but unfortunately, enabling Github 
integration for Appveyor seems hard for any apache project so it didn't turn 
out not that useful at all.

If Windows slaves are available, I can say that it would be a very valuable 
check, from my experience on my personal Appveyor account.

h3. use build scripts from git repo

Not sure if it's even feasible from the perspective of security.

But currently, however hard an external contributor would work on better 
verification, jenkins does not evolve at all and skips all the contributed 
parts of tests (a.k.a. make cross at that time for me).
IMO, the final verification should be extensible for any contributor who is 
willing, as long as properly reviewed by committers.
Just imagine how you would have felt for Thrift's build system, if you didn't 
happen to have Jenkins permission.
You would have found it very difficult and time consuming to simply enable make 
check to begin with.

Here's where you can find open part of our build scripts that is for 
Travis/appveyor under the git repo dir:

.travis.yml
appveyor.yml :  windows
build/docker/centos/ :  CentOS 7 image, currently CMake only
build/docker/centos6/ : for python 2.6 tests
build/docker/debian/ : jessie image for all but haskell
build/docker/ubuntu/ : trusty image for literally all
build/docker/scripts/ : build scripts

> Cleanup and consolidate Thrift* jenkins jobs.
> ---------------------------------------------
>
>                 Key: THRIFT-3620
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3620
>             Project: Thrift
>          Issue Type: Task
>          Components: Test Suite
>            Reporter: John Sirois
>            Assignee: John Sirois
>
> I spent some time resurrecting the 
> [Thrift-precommit|https://builds.apache.org/job/Thrift-precommit/] job which 
> vets pull-requests to use the pool of docker slaves using a dockerized CI 
> with guidance from [~jfarrell].  The remaining crop of Thrift* jobs should be 
> culled and converted as appropriate.
> Currently we have the jobs 
> [here|https://builds.apache.org/view/S-Z/view/Thrift/]:
> {noformat}
> $ curl --netrc -sS https://builds.apache.org/view/S-Z/view/Thrift/config.xml 
> | xmllint -xpath "//jobNames" - | grep "<string>" | cut -d'>' -f2 | cut -d'<' 
> -f1
> Thrift
> Thrift-all
> Thrift-Compiler-Linux64
> Thrift-Compiler-Windows
> Thrift-env
> Thrift-env-Windows
> Thrift-Test
> Thrift-Windows
> {noformat}
> Of those, [Thrift-env|https://builds.apache.org/job/Thrift-env], 
> [Thrift-env-Windows|https://builds.apache.org/job/Thrift-env-Windows] and 
> [Thrift-Windows|https://builds.apache.org/job/Thrift-Windows] are all 
> disabled and [Thrift|https://builds.apache.org/job/Thrift] and 
> [Thrift-Compiler-Linux64|https://builds.apache.org/job/Thrift-Compiler-Linux64]
>  seem to be unused based on last run dates.  This leaves the following active 
> jobs fwict:
> * [|https://builds.apache.org/job/Thrift-all]
> * [|https://builds.apache.org/job/Thrift-Compiler-Windows]
> * [|https://builds.apache.org/job/Thrift-precommit]
> Of these {{Thrift-all}} is broken in a known-way, it really needs to be 
> converted to use a Dockerized build like {{Thrift-precommit}} to be insulated 
> from the vagaries of the underlying worker machines.
> I propose deltion of all disabled (3) and inactive (2) jobs listed above and 
> conversion of {{Thrift-all}} to a Dockerized CI job to guard master with.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to