[
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)