[
https://issues.apache.org/jira/browse/THRIFT-3620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15145795#comment-15145795
]
John Sirois edited comment on THRIFT-3620 at 2/13/16 4:41 AM:
--------------------------------------------------------------
I agree 100% on the ability for any contributor to enhance CI:
{noformat}
$ curl --netrc -sS https://builds.apache.org/job/Thrift-precommit/config.xml |
xmllint -xpath //command -
<command>docker build -t thrift $WORKSPACE/build/docker/ubuntu
cat << DOCKERFILE | docker build -t jenkins-thrift -
# A thrift image that adds jenkins job specific tools
FROM thrift
RUN apt-get update && apt-get install -y \
cppcheck \
sloccount
DOCKERFILE
</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
docker run --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift /bin/bash
-exc '
sh bootstrap.sh
sloccount --duplicates --wide --details lib tutorial test > sloccount.sc
cppcheck --error-exitcode=0 --force --xml lib/cpp/src/ lib/c_glib/src/
tutorial/cpp/ test/cpp/ 2> cppcheck-result.xml
'</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
# NB: Hacks used:
# 1.) --privileged is a hammer being used to get around issues like
intermittent Haxe compile errors of the form:
# ...
# -I/usr/lib/haxe/lib/hxcpp/3,2,205/include -x c++ -frtti
-Wno-invalid-offsetof ./src/thrift/test/TestMapMap_args.cpp
-o/thrift/test/haxe/bin/obj/linux64-debug/9931a53a_TestMapMap_args.o
# Error: /usr/lib/gcc/x86_64-linux-gnu/4.8/cc1plus: error while loading
shared libraries: libcloog-isl.so.4: failed to map segment from shared object:
Permission denied
# Error: Build failed
docker run --privileged --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift
/bin/bash -exc '
sh bootstrap.sh
./configure
make check dist
ant -f lib/java/build.xml javadoc
'</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
# This is disabled due to a large number of failures in the matrix presently
(2/9/2016).
# TODO(John Sirois): Fix or remove.
#docker run --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift /bin/bash
-exc '
#GOPATH=/thrift/test/go go install bin/...
#./test/test.py | tee test.log
#'</command>
{noformat}
was (Author: jsirois):
I'm agree 100% on the ability for any contributor to enhance CI:
{noformat}
$ curl --netrc -sS https://builds.apache.org/job/Thrift-precommit/config.xml |
xmllint -xpath //command -
<command>docker build -t thrift $WORKSPACE/build/docker/ubuntu
cat << DOCKERFILE | docker build -t jenkins-thrift -
# A thrift image that adds jenkins job specific tools
FROM thrift
RUN apt-get update && apt-get install -y \
cppcheck \
sloccount
DOCKERFILE
</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
docker run --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift /bin/bash
-exc '
sh bootstrap.sh
sloccount --duplicates --wide --details lib tutorial test > sloccount.sc
cppcheck --error-exitcode=0 --force --xml lib/cpp/src/ lib/c_glib/src/
tutorial/cpp/ test/cpp/ 2> cppcheck-result.xml
'</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
# NB: Hacks used:
# 1.) --privileged is a hammer being used to get around issues like
intermittent Haxe compile errors of the form:
# ...
# -I/usr/lib/haxe/lib/hxcpp/3,2,205/include -x c++ -frtti
-Wno-invalid-offsetof ./src/thrift/test/TestMapMap_args.cpp
-o/thrift/test/haxe/bin/obj/linux64-debug/9931a53a_TestMapMap_args.o
# Error: /usr/lib/gcc/x86_64-linux-gnu/4.8/cc1plus: error while loading
shared libraries: libcloog-isl.so.4: failed to map segment from shared object:
Permission denied
# Error: Build failed
docker run --privileged --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift
/bin/bash -exc '
sh bootstrap.sh
./configure
make check dist
ant -f lib/java/build.xml javadoc
'</command><command># TODO(John Sirois): Check the ci script into the repo and
have that be the docker entrypoint.
# This is disabled due to a large number of failures in the matrix presently
(2/9/2016).
# TODO(John Sirois): Fix or remove.
#docker run --rm -v $WORKSPACE:/thrift -w /thrift -t jenkins-thrift /bin/bash
-exc '
#GOPATH=/thrift/test/go go install bin/...
#./test/test.py | tee test.log
#'</command>
{noformat}
> 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)