diff options
-rwxr-xr-x | BuildParams | 118 | ||||
-rwxr-xr-x | autobuild.xml | 14 | ||||
-rwxr-xr-x | build.sh | 133 |
3 files changed, 58 insertions, 207 deletions
diff --git a/BuildParams b/BuildParams index 74bd2b4923..35a737a191 100755 --- a/BuildParams +++ b/BuildParams @@ -71,121 +71,9 @@ additional_packages = "" # for the package in a setting that overrides the compiled-in value ################################################################ -# Notifications - to configure email notices, add a setting like this: -# <username>_<reponame>.email = <email-address> +# Notifications - to configure email notices use the TeamCity parameter +# setting screen for your project or build configuration to set the +# environment variable 'email' to a space-separated list of email addresses -# ======================================== -# mesh-development -# ======================================== -mesh-development.viewer_channel = "Project Viewer - Mesh" -mesh-development.viewer_grid = aditi -mesh-development.build_debug_release_separately = true -mesh-development.build_CYGWIN_Debug = false -mesh-development.build_viewer_update_version_manager = false - -# ======================================== -# mesh-development-release-1-candidate -# ======================================== -mesh-development-release-1-candidate.viewer_channel = "Project Viewer - Mesh" -mesh-development-release-1-candidate.viewer_grid = agni -mesh-development-release-1-candidate.build_debug_release_separately = true -mesh-development-release-1-candidate.build_CYGWIN_Debug = false -mesh-development-release-1-candidate.build_viewer_update_version_manager = false - -# ======================================== -# mesh-development-rc -# ======================================== -mesh-development-rc.viewer_channel = "Project Viewer - Mesh" -mesh-development-rc.viewer_grid = agni -mesh-development-rc.build_debug_release_separately = true -mesh-development-rc.build_CYGWIN_Debug = false -mesh-development-rc.build_viewer_update_version_manager = false - -# ======================================== -# mesh-asset-deprecation -# ======================================== -mesh-asset-deprecation.viewer_channel = "Project Viewer - Mesh Asset Deprecation" -mesh-asset-deprecation.viewer_grid = aditi -mesh-asset-deprecation.build_debug_release_separately = true -mesh-asset-deprecation.build_CYGWIN_Debug = false -mesh-asset-deprecation.build_viewer_update_version_manager = false - -# ======================================== -# viewer-mesh -# ======================================== - -viewer-mesh.build_viewer = true -viewer-mesh.build_server = false -viewer-mesh.build_Linux = true -viewer-mesh.build_hg_bundle = true -viewer-mesh.build_viewer_update_version_manager = false -viewer-mesh.build_Debug = false -viewer-mesh.build_RelWithDebInfo = false -viewer-mesh.viewer_channel = "Project Viewer - Mesh" -viewer-mesh.viewer_grid = aditi -viewer-mesh.email = shining@lists.lindenlab.com - -# ================================================================= -# asset delivery 2010 projects -# ================================================================= -viewer-asset-delivery.viewer_channel = "Second Life Development" -viewer-asset-delivery.build_viewer_update_version_manager = false -viewer-asset-delivery.email = monty@lindenlab.com -viewer-asset-delivery.build_server = false -viewer-asset-delivery.build_server_tests = false - -viewer-asset-delivery-metrics.viewer_channel = "Second Life Development" -viewer-asset-delivery-metrics.build_viewer_update_version_manager = false -viewer-asset-delivery-metrics.email = monty@lindenlab.com -viewer-asset-delivery-metrics.build_server = false -viewer-asset-delivery-metrics.build_server_tests = false - -# ======================================== -# Simon says -# ======================================== -simon_viewer-dev-private.public_build = false -simon_viewer-dev-private.email_status_this_is_os = false - - -# ======================================== -# Vir -# ======================================== -vir-project-1.viewer_channel = "Second Life Release" - -# ======================================== -# Merov -# ======================================== -merov-viewer-maint-2287.viewer_channel = "Second Life Project Merchant Outbox" -merov-viewer-maint-2287.login_channel = "Second Life Project Merchant Outbox" -merov-viewer-maint-2287.build_viewer_update_version_manager = false -merov-viewer-maint-2287.codeticket_add_context = false - -# ======================================== -# THX-1138 / Runway projects -# ======================================== -viewer-thx1138-runway-shared.viewer_channel = "Project Viewer - THX-1138 Runway" -viewer-thx1138-runway-shared.viewer_grid = uma -viewer-thx1138-runway-shared.build_debug_release_separately = true -viewer-thx1138-runway-shared.build_CYGWIN_Debug = false -viewer-thx1138-runway-shared.build_viewer_update_version_manager = false - -viewer-thx1138.viewer_channel = "Project Viewer - THX-1138" -viewer-thx1138.viewer_grid = uma -viewer-thx1138.build_debug_release_separately = true -viewer-thx1138.build_CYGWIN_Debug = false -viewer-thx1138.build_viewer_update_version_manager = false - -runway-merge.viewer_channel = "Project Viewer - Runway Merge" -runway-merge.viewer_grid = agni -runway-merge.build_debug_release_separately = true -runway-merge.build_CYGWIN_Debug = false -runway-merge.build_viewer_update_version_manager = false - -runway.viewer_channel = "Project Viewer - Runway" -runway.viewer_grid = agni -runway.build_debug_release_separately = true -runway.build_CYGWIN_Debug = false -runway.build_viewer_update_version_manager = false -# eof diff --git a/autobuild.xml b/autobuild.xml index 4c4ff5a0d4..8972c4ceb0 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -266,9 +266,9 @@ <key>archive</key> <map> <key>hash</key> - <string>d1c5125650a339a5209f429c70f4d395</string> + <string>89db4a1aa22599cf377ae49630b7b5b1</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/Darwin/installer/curl-7.38.0.297172-darwin-297172.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/Darwin/installer/curl-7.42.1.301717-darwin-301717.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -278,9 +278,9 @@ <key>archive</key> <map> <key>hash</key> - <string>ee6c089ee193e551040d610befc5d1c1</string> + <string>de9e0c855ff6ee30c9e027a70bbef032</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/Linux/installer/curl-7.38.0.297172-linux-297172.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/Linux/installer/curl-7.42.1.301717-linux-301717.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -290,16 +290,16 @@ <key>archive</key> <map> <key>hash</key> - <string>fdeca7cbc074a88d2701d74a31d21bd8</string> + <string>98d15713de8c439b7f54cc14f2df07ac</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/297172/arch/CYGWIN/installer/curl-7.38.0.297172-windows-297172.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/curl_3p-update-curl/rev/301717/arch/CYGWIN/installer/curl-7.42.1.301717-windows-301717.tar.bz2</string> </map> <key>name</key> <string>windows</string> </map> </map> <key>version</key> - <string>7.38.0.297172</string> + <string>7.42.1.301717</string> </map> <key>db</key> <map> @@ -1,10 +1,13 @@ #!/bin/sh -# This is a the master build script - it is intended to be run by the Linden -# Lab build farm -# It is called by a wrapper script in the shared repository which sets up -# the environment from the various BuildParams files and does all the build -# result post-processing. +# This is the custom build script for the viewer +# +# It must be run by the Linden Lab build farm shared buildscript because +# it relies on the environment that sets up, functions it provides, and +# the build result post-processing it does. +# +# The shared buildscript build.sh invokes this because it is named 'build.sh', +# which is the default custom build script name in buildscripts/hg/BuildParams # # PLEASE NOTE: # @@ -12,7 +15,6 @@ # Cygwin can be tricky.... # * The special style in which python is invoked is intentional to permit # use of a native python install on windows - which requires paths in DOS form -# * This script relies heavily on parameters defined in BuildParams check_for() { @@ -94,13 +96,11 @@ installer_CYGWIN() pre_build() { local variant="$1" - begin_section "Pre$variant" + begin_section "Configure $variant" [ -n "$master_message_template_checkout" ] \ && [ -r "$master_message_template_checkout/message_template.msg" ] \ && template_verifier_master_url="-DTEMPLATE_VERIFIER_MASTER_URL=file://$master_message_template_checkout/message_template.msg" - check_for "Confirm dictionaries are installed before 'autobuild configure'" ${build_dir}/packages/dictionaries - "$autobuild" configure -c $variant -- \ -DPACKAGE:BOOL=ON \ -DRELEASE_CRASH_REPORTING:BOOL=ON \ @@ -109,7 +109,7 @@ pre_build() -DLL_TESTS:BOOL="$run_tests" \ -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url - end_section "Pre$variant" + end_section "Configure $variant" } package_llphysicsextensions_tpv() @@ -134,7 +134,7 @@ package_llphysicsextensions_tpv() echo "${autobuild_package_filename}" > $build_dir/llphysicsextensions_package fi else - echo "Do not provide llphysicsextensions_tpv for $variant" + record_event "Do not provide llphysicsextensions_tpv for $variant" llphysicsextensions_package="" fi end_section "PhysicsExtensions_TPV" @@ -146,16 +146,15 @@ build() local variant="$1" if $build_viewer then - begin_section "Viewer$variant" - "$autobuild" build --no-configure -c $variant build_ok=$? - end_section "Viewer$variant" # Run build extensions if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ]; then for extension in ${build_dir}/packages/build-extensions/*.sh; do + begin_section "Extension $extension" . $extension + end_section "Extension $extension" if [ $build_ok -ne 0 ]; then break fi @@ -174,28 +173,6 @@ build() fi } -# This is called from the branch independent script upon completion of all platform builds. -build_docs() -{ - begin_section "Building Documentation" - begin_section "Autobuild metadata" - if [ -r "$build_dir/autobuild-package.xml" ] - then - upload_item docs "$build_dir/autobuild-package.xml" text/xml - else - record_event "no metadata at '$build_dir/autobuild-package.xml'" - fi - end_section "Autobuild metadata" - if [ "$arch" != "Linux" ] - then - record_dependencies_graph # defined in build.sh - else - echo "TBD - skipping linux graph (probable python version dependency)" 1>&2 - fi - end_section "Building Documentation" -} - - # Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there if [ "x$arch" = x ] then @@ -207,7 +184,7 @@ then cat <<EOF This script, if called in a development environment, requires that the branch independent build script repository be checked out next to this repository. -This repository is located at http://hg.lindenlab.com/parabuild/buildscripts +This repository is located at http://bitbucket.org/lindenlabinternal/sl-buildscripts EOF exit 1 fi @@ -246,70 +223,54 @@ do # Only the last built arch is available for upload last_built_variant="$variant" - begin_section "Do$variant" + begin_section "$variant" build_dir=`build_dir_$arch $variant` build_dir_stubs="$build_dir/win_setup/$variant" - begin_section "PreClean" + begin_section "Initialize Build Directory" rm -rf "$build_dir" - end_section "PreClean" - mkdir -p "$build_dir" mkdir -p "$build_dir/tmp" + end_section "Initialize Build Directory" if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1 then - if $build_link_parallel - then - begin_section BuildParallel - ( build "$variant" "$build_dir" > "$build_dir/build.log" 2>&1 ) & - build_processes="$build_processes $!" - end_section BuildParallel - else - begin_section "Build$variant" + begin_section "Build $variant" build "$variant" "$build_dir" 2>&1 | tee -a "$build_log" | sed -n 's/^ *\(##teamcity.*\)/\1/p' if `cat "$build_dir/build_ok"` then - echo so far so good. + if [ "$variant" == "Release" ] + then + if [ -r "$build_dir/autobuild-package.xml" ] + then + begin_section "Autobuild metadata" + upload_item docs "$build_dir/autobuild-package.xml" text/xml + if [ "$arch" != "Linux" ] + then + record_dependencies_graph # defined in buildscripts/hg/bin/build.sh + else + record_event "no dependency graph for linux (probable python version dependency)" 1>&2 + fi + end_section "Autobuild metadata" + else + record_event "no autobuild metadata at '$build_dir/autobuild-package.xml'" + fi + else + record_event "do not record autobuild metadata for $variant" + fi else - record_failure "Build of \"$variant\" failed." + record_failure "Build of \"$variant\" failed." fi - end_section "Build$variant" - fi - else - record_failure "Build Prep for \"$variant\" failed." + end_section "Build $variant" + fi + end_section "$variant" + if ! $succeeded + then + record_event "remaining variants skipped due to $variant failure" + break fi - end_section "Do$variant" done -build_docs - -# If we are building variants in parallel, wait, then collect results. -# This requires that the build dirs are variant specific -if $build_link_parallel && [ x"$build_processes" != x ] -then - begin_section WaitParallel - wait $build_processes - for variant in $variants - do - eval '$build_'"$variant" || continue - eval '$build_'"$arch"_"$variant" || continue - - begin_section "Build$variant" - build_dir=`build_dir_$arch $variant` - build_dir_stubs="$build_dir/win_setup/$variant" - tee -a $build_log < "$build_dir/build.log" | sed -n 's/^ *\(##teamcity.*\)/\1/p' - if `cat "$build_dir/build_ok"` - then - echo so far so good. - else - record_failure "Parallel build of \"$variant\" failed." - fi - end_section "Build$variant" - done - end_section WaitParallel -fi - # build debian package if [ "$arch" == "Linux" ] then @@ -376,7 +337,7 @@ then end_section "Upload Debian Repository" else - echo skipping debian build + echo debian build not enabled fi else echo skipping debian build due to failed build. @@ -446,7 +407,9 @@ then # Run upload extensions if [ -d ${build_dir}/packages/upload-extensions ]; then for extension in ${build_dir}/packages/upload-extensions/*.sh; do + begin_section "Upload Extenstion $extension" . $extension + end_section "Upload Extenstion $extension" done fi |