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