Project

General

Profile

Feature #1109

User ability to request a build from Jenkins

Added by Robin Mills about 6 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
build
Target version:
Start date:
23 Aug 2015
Due date:
% Done:

100%

Estimated time:
120.00 h

Related issues

Related to Exiv2 - Feature #679: Provide 64bit exiv2 Windows Executable for downloadClosed03 Feb 2010

Actions

Associated revisions

Revision 3943 (diff)
Added by Robin Mills about 6 years ago

#1109. First stab at the UI for the build server.

Revision 3944 (diff)
Added by Robin Mills about 6 years ago

#1109 Adding JavaScript logic to UI. Estimate build time.

Revision 3946 (diff)
Added by Robin Mills about 6 years ago

#1109: UI/JavaScript refinement.

Revision 3947 (diff)
Added by Robin Mills about 6 years ago

#1109 More UI/JavaScript refinement to enable/disable the reset button.

Revision 3959 (diff)
Added by Robin Mills about 6 years ago

#1109 Support for Visual Studio 2003/5/8/10/12/13/15

Revision 4108 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Added documentation and log files to the published builds.

Revision 4109 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Corrections to ReadMe.txt.

I still haven't persuaded cygwin to link correctly. Something horribly wrong. I've realised that the buildserver sshd is 32 bit and therefore builds a 32 bit library. I might attempt the configure sshd to run cygwin64, however it took a lot of effort to get everything to build over sshd, I'm reluctant to modify anything about sshd. I'll feel differently when I work on this tomorrow.

Revision 4110 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 More corrections to ReadMe.txt

I used regedit (run as administrator) to change the Windows services to run c:\cygwin64\bin\cygrunsrv.exe and sshd restarted effortlessly in 64 bits. samples/exifprint.cpp compiles/links/runs as documented. Very pleased.

Revision 4111 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Documentation corrections. First cut of buildserver/test_daily.sh script

Revision 4112 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Detab script

Revision 4113 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Work in progress. Adding linux/cygwin/msvc support to test_daily.sh

Revision 4114 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Always build 64 bit libraries.

Revision 4115 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Fixes for msvc

Revision 4117 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041. Use /usr/local/bin/cmake to build (because I can guarantee it on the buildserver). Documentation Update.

Revision 4118 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Only use /usr/local/bin/curl because I've built and installed 7.45.0 there.

Revision 4119 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Use xmllint -html to parse output from webserver.

Revision 4120 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Process the last build when there's more than 1.

Revision 4121 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041. Reinstate recursive cygwin bash

Revision 4122 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Debugging cygwin/jenkins_build.sh I don't know why this has broken as it has been working perfectly for at least a year.

Revision 4123 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041. Don't call cygwin recursively. I replaced c:\cygwin yesterday with 64bit cygwin to avoid the Windows10 fork/crash. Use CXXFLAGS=-m64 - just like unix.

Revision 4124 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Move scripts to contrib/buildserver

Revision 4125 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Adding cmake_daily.sh and testDailyAll.sh

Revision 4126 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Documentation update

Revision 4127 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Adding contrib/buildserver/spread which runs from test-cmake-daily to update links in builds/Categorized

Revision 4128 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Simplification of daily cmake build/test/publish/categorize (Work in Progress)

Revision 4129 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Rename categorize as categorize.sh Documentation update.

Revision 4130 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041. Factored out common code into functions.so Documentation update.

Revision 4131 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041. Correction to r4130

Revision 4132 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Update to jenkins_build.sh surprise: msvc build did not execute. The "what kind of build is this?" code has been in service for about 1 year.

Revision 4137 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 categorize.sh rewritten

Revision 4139 (diff)
Added by Robin Mills almost 6 years ago

#1109 Modified cmake_daily to build multiple using more than one version of Visual Studio. Added (untested) mingw support.

Revision 4140 (diff)
Added by Robin Mills almost 6 years ago

#1109. Correction to r4139

Revision 4141 (diff)
Added by Robin Mills almost 6 years ago

#1109. Build and test Visual Studio 2005/2008/2010/2012/2013/2015 x64/Win32

Revision 4142 (diff)
Added by Robin Mills almost 6 years ago

#1109. Code polishing and correction to r4141

Revision 4143 (diff)
Added by Robin Mills almost 6 years ago

#1109. Correction to r4142.

Revision 4144 (diff)
Added by Robin Mills almost 6 years ago

#1109. Code polishing and simplification.

Revision 4145 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Changes for Parallels 11.0 running on buildserver (Parallels 11 is a Christmas to myself).

Revision 4146 (diff)
Added by Robin Mills almost 6 years ago

#1109 and #1041 Build with cmakeBuildAll.cmd

Revision 4147 (diff)
Added by Robin Mills almost 6 years ago

#1109. Documentation update. daily build uses cmakeBuildAll to generate 12 Visual Studio builds.

Revision 4246 (diff)
Added by Robin Mills over 5 years ago

#1109 Change contrib/buildserver/test_daily.sh to report PLATFORM

Revision 4505 (diff)
Added by Robin Mills about 5 years ago

#1109 Last role of the dice to get CMake/MinGW to work together.

Revision 4507 (diff)
Added by Robin Mills about 5 years ago

#1109 Updated test_daily.sh to respect the MinGW/32 build

Revision 4508 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build

Revision 4509 (diff)
Added by Robin Mills about 5 years ago

#1109 Adding notes to explain the troubles getting CMake/MinGW/Qt 5.6 to work together.

Revision 4512 (diff)
Added by Robin Mills about 5 years ago

#1109 Fix cmake_daily.sh to avoid getting two mingw bundles

Revision 4513 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4514 (diff)
Added by Robin Mills about 5 years ago

#1109 Working in Progress on MinGW/32 daily build.

Revision 4515 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4516 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4517 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4518 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4519 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4521 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build.

Revision 4522 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build. With good fortune, this is now complete!

Revision 4523 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32 daily build. Polishing.

Revision 4526 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32 daily build. Final polish. Done!

Revision 4527 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32 daily build. Revisions following a walk-through with Sai Tallem on Skype.

Revision 4528 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32 daily build. Fix GCC warning on MinGW/32 gcc 4.9.2

Revision 4530 (diff)
Added by Robin Mills about 5 years ago

#1109 CMake changes for MinGW. I have not yet succeeded in get CMake/MinGW to work.

Revision 4532 (diff)
Added by Robin Mills about 5 years ago

#1109 remove -std=c++98 in buildserver scripts. This is now part of CMakeLists.txt (r4530) and ./configure (r4531)

Revision 4533 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32 daily build. Documentation update to reflect r4530 and r4531

Revision 4534 (diff)
Added by Robin Mills about 5 years ago

#1188 and #1109 Correction to r4530 and r4531 to fix cygwin build-breaker (gnu++98 required for snprintf support)

Revision 4537 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32 daily build. Avoid -svn-0-date builds. Changes to test suite for mingw.

Revision 4538 (diff)
Added by Robin Mills about 5 years ago

#1109 Work in Progress on MinGW/32. Put stdout into binary mode for options pC -pX, -eABC, eABC

Revision 4543 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32. Correction to r4538 for all versions of msvc.

Revision 4545 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32. Correction to r4543 for systems which are neither MINGW nor MSVC

Revision 4546 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/32. Correction to r4543 for systems which are neither MINGW nor MSVC

Revision 4549 (diff)
Added by Robin Mills about 5 years ago

#1109 MinGW/GCC should not set -std=gnu++98 because this causes 64 bit build to not link libpthreads! (on several tool chains)

Revision 4594 (diff)
Added by Robin Mills about 5 years ago

#1109 Fixes in dailyCMake.sh

Revision 4595 (diff)
Added by Robin Mills about 5 years ago

#1109 Fix in dailyCMake.sh for MinGW

Revision 4597 (diff)
Added by Robin Mills about 5 years ago

#1109 Work-in-progress. First cut of categorize.py to replace categorize.sh. This which will improve dailyBuild performance by about 15 minutes.

History

#1

Updated by Robin Mills about 6 years ago

  • Estimated time set to 50.00 h
#2

Updated by Robin Mills about 6 years ago

  • Target version changed from 0.26 to 1.0

I'm deferring this to v1.0. This will probably get done in 2016, however I don't want to commit that it'll be available for v0.26.

#3

Updated by Robin Mills almost 6 years ago

  • % Done changed from 0 to 20

I've made a good start on this and designed the UI. I've also made strong progress with #1041 (CMake/Visual Studio). I now have a script to rebuild/test exiv2 with visual studio 2005/8/10/12/13/15) in x86 and x64. This script delivers to a 'dlist' directory with all 12 builds. I'm thinking that I can use this to deliver a 'daily' and 'monthly' build of exiv2 and that might be sufficient for the purpose. I'm setting Done to 20 to reflect this progress.

#4

Updated by Robin Mills almost 6 years ago

  • Target version changed from 1.0 to 0.26
  • % Done changed from 20 to 80
  • Estimated time changed from 50.00 h to 100.00 h

I'm going to advance this to 80% complete. The work on #1041 has taken up a lot of time (about 4 weeks). However, it's much more extensive than I anticipated. I've added a daily/weekly/monthly build to jenkins and publish the builds for user collection.

Perhaps in v0.27, I will continue to develop the UI to enable a user to precisely define the build required. However for v0.26, the work done in #1041 is a significant new service for users. The work complete does enable a user to 'request a build from jenkins'.

I'm also going to increase the estimate hours to 100. #1041 is already 100 hours. So, with both set at 100 hours and 80% complete, that does respect the 160 hours (4 weeks) that I have invested in this matter. I'm also changing the target to 0.26.

#5

Updated by Robin Mills almost 6 years ago

  • % Done changed from 80 to 90
#6

Updated by Robin Mills over 5 years ago

  • % Done changed from 90 to 80

Run into lots of issues with CMake and some versions of Visual Studio. More work ahead.

#7

Updated by Robin Mills over 5 years ago

  • % Done changed from 80 to 90

I had a quite a lot of trouble getting all 12 MSVC builds to execute with CMake and to pass the daily_test.sh. It's been stable now for two weeks. I think CMake/Visual Studio is more-or-less complete. This has been a lot of work, however it is one of the major new features of the v0.26 release.

#8

Updated by Robin Mills over 5 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 90 to 100

The daily builds are being reliably generated by the buildserver on all supported platforms.

#9

Updated by Robin Mills about 5 years ago

  • Estimated time changed from 100.00 h to 120.00 h

In response to a discussion with Saiteja Tallam on the Forum concerning Qt/MinGW/32, I've extended the nightly build to publish those builds.

http://dev.exiv2.org/boards/3/topics/2705

This was quite difficult for a couple of reasons:

1) It was a fight to get cmake built for MinGW/32

Although I get cmake built, it generates makefiles that fail to build the code.
I've documented the status in contrib/buildserver/cmake_daily.sh

2) I "switched horses" and perform the nightly build for MinGW using autotools
This has taken quite a serious effort to debug as the rest of the nightly build uses CMake.
Creating and testing the dist bundle is tough challenge as the build time is about 90 minutes.

The effort to perform a nightly build with autotools could be very useful in future and could be quickly used to build and test 32 bit Linux or Cygwin libraries. Or static libraries. Or special builds such as web-ready. Of course these builds could be performed with CMake. However, MinGW builds will have to be performed with Autotools until more work is undertaken to get cmake to work with MinGW.

Also available in: Atom PDF