Refactoring Jenkins build and resolving issues

31 views
Skip to first unread message

alko

unread,
Oct 18, 2016, 3:28:01ā€ÆAM10/18/16
to Selenium Developers
Hi folks

I refactored the Small_Tests on Jenkins to run each individual suite separately and discover that only one was failing because of a compilation error which has been fixed (and was due most likely to differences between the Oracle and OpenJDK libraries).

I've been recreating the Jenkins from ci.seleniumhq.org on a VM at AWS. I just ran the Jenkins Docker image and have been building the environment in there to see what is necessary. This is what seems relevant.

Buck is being maintained whenever it changes by this job:
This seems to both install buck in the Container and produce an artifact which is used by theĀ http://ci.seleniumhq.org:8080/job/Build_All_BUCK_Linux/ job.

The Selenium repo is actually triggering two jobs:
and

Build_All_Java triggers quite a few other jobs. Since they are all children of this job there is no guarantee of what order they will execute in so it seems (and I have been told) that all of the Tests jobs do not depend on anything but the Build_All_Java job. Also as there is no orchestration between build_python and Build_All_Java if both the python and the Java change there is no guarantee as to when they will run, but it can be most likely assumed the python build would run before the tests (considering how long Build_All_Java takes to run).

Build_All_Java requires the ChromeDriver to execute apparently?
I will try replacing all of the custom code to archive and recreate the workspace from Build_All_Java i.e.:

echo "Publishing artifacts for other builds"
cd "$WORKSPACE"
rm -f selenium-server-standalone-*.jar
cp selenium-trunk/$standalone_jar selenium-server-standalone-latest.jar
tar czf selenium-trunk.tgz --exclude=.svn --exclude=.git selenium-trunk
cp selenium-trunk.tgz "/mnt/jenkins/www/selenium-trunk-r$GIT_COMMIT.tgz"

in Build_All_Java and

tar xzf "selenium-trunk-r$svnrevision.tgz"

in the subsequent jobs with the Jenkins Clone Workspace SCM plugin (https://wiki.jenkins-ci.org/display/JENKINS/Clone+Workspace+SCM+Plugin) which should do the same thing.

I have managed to build the projects and run the simple tests on the simple Jenkins but now I am building my own Jenkins Docker image with all the things required to build the project. This will also be easily portable though of course the content (the job configurations) will need to be added.

Once I have the build and the simple tests working I will look into what is required to get the more complicated tests running (and whether I have what I need to do it with Sauce).

Any information/comments/suggestions are appreciated

Thanks

Alex
Reply all
Reply to author
Forward
0 new messages