summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2023-07-06 17:29:40 -0400
committerNat Goodspeed <nat@lindenlab.com>2023-07-06 17:29:40 -0400
commitca5f3e3b35dedd3674df91ec5aabae1e6bab4acd (patch)
tree34d433fdef2c2c566f39d9fe68058b2ba50c70f0
parent5f1de35f39aa3a13f6dbb98b117bb6897c792910 (diff)
SL-18837: Add addoutput, addarrayoutput functions to build.sh
and use them instead of codeticket addoutput to pass GitHub xxx_name, xxx_path outputs to build.yaml. Add upload steps to build.yaml to try to upload build products identified in build.sh.
-rw-r--r--.github/workflows/build.yaml38
-rwxr-xr-xbuild.sh32
2 files changed, 70 insertions, 0 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index a3d5269d5a..cd82fe5a54 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -205,3 +205,41 @@ jobs:
with:
name: ${{ steps.build.outputs.installer_name }}
path: ${{ steps.build.outputs.installer_path }}
+
+ - name: Upload metadata
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.autobuild_package_name }}
+ path: ${{ steps.build.outputs.autobuild_package_path }}
+
+ - name: Upload version
+ uses: actions/upload-artifact@v3
+ with:
+ name: viewer_version.txt
+ path: ${{ steps.build.outputs.viewer_version_name }}
+
+ - name: Upload Doxygen Log
+ if: steps.build.outputs.doxygen_log_path
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.doxygen_log_name }}
+ path: ${{ steps.build.outputs.doxygen_log_path }}
+
+ - name: Upload Doxygen Tarball
+ if: steps.build.outputs.doxygen_tarball_path
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.doxygen_tarball_name }}
+ path: ${{ steps.build.outputs.doxygen_tarball_path }}
+
+ - name: Upload viewer package installers
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.installer_name }}
+ path: ${{ steps.build.outputs.packages }}
+
+ - name: Upload symbol file
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.symbolfile_name }}
+ path: ${{ steps.build.outputs.symbolfile_path }}
diff --git a/build.sh b/build.sh
index 86119cf259..c50bf1df9d 100755
--- a/build.sh
+++ b/build.sh
@@ -110,6 +110,27 @@ installer_CYGWIN()
fi
}
+[[ -n "$GITHUB_OUTPUT" ]] || fatal "Need to export GITHUB_OUTPUT"
+
+addoutput()
+{
+ local varname="$1"
+ local value="$2"
+ echo "${varname}_name=$(basename "$value")" >> "$GITHUB_OUTPUT"
+ echo "${varname}_path=$value" >> "$GITHUB_OUTPUT"
+}
+
+# For variable numbers of output values, separate them one per line.
+addarrayoutput()
+{
+ local varname="$1"
+ # indirection: specify the *name* of the array to emit
+ local -n arrayname="$2"
+ local IFS='
+'
+ echo "$varname=${arrayname[*]}" >> "$GITHUB_OUTPUT"
+}
+
pre_build()
{
local variant="$1"
@@ -369,6 +390,7 @@ do
begin_section "Autobuild metadata"
python_cmd "$helpers/codeticket.py" addoutput "Autobuild Metadata" "$build_dir/autobuild-package.xml" --mimetype text/xml \
|| fatal "Upload of autobuild metadata failed"
+ addoutput autobuild_package "$build_dir/autobuild-package.xml"
if [ "$arch" != "Linux" ]
then
record_dependencies_graph "$build_dir/autobuild-package.xml" # defined in buildscripts/hg/bin/build.sh
@@ -384,6 +406,7 @@ do
begin_section "Viewer Version"
python_cmd "$helpers/codeticket.py" addoutput "Viewer Version" "$(<"$build_dir/newview/viewer_version.txt")" --mimetype inline-text \
|| fatal "Upload of viewer version failed"
+ addoutput viewer_version "$(<"$build_dir/newview/viewer_version.txt")"
end_section "Viewer Version"
fi
;;
@@ -392,12 +415,14 @@ do
then
record_event "Doxygen warnings generated; see doxygen_warnings.log"
python_cmd "$helpers/codeticket.py" addoutput "Doxygen Log" "$build_dir/doxygen_warnings.log" --mimetype text/plain ## TBD
+ addoutput doxygen_log "$build_dir/doxygen_warnings.log"
fi
if [ -d "$build_dir/doxygen/html" ]
then
tar -c -f "$build_dir/viewer-doxygen.tar.bz2" --strip-components 3 "$build_dir/doxygen/html"
python_cmd "$helpers/codeticket.py" addoutput "Doxygen Tarball" "$build_dir/viewer-doxygen.tar.bz2" \
|| fatal "Upload of doxygen tarball failed"
+ addoutput doxygen_tarball "$build_dir/viewer-doxygen.tar.bz2"
fi
;;
*)
@@ -513,6 +538,7 @@ then
retry_cmd 4 30 python_cmd "$helpers/codeticket.py" addoutput Installer "$package" \
|| fatal "Upload of installer failed"
wait_for_codeticket
+ packages=("$package")
# Upload additional packages.
for package_id in $additional_packages
@@ -523,11 +549,14 @@ then
retry_cmd 4 30 python_cmd "$helpers/codeticket.py" addoutput "Installer $package_id" "$package" \
|| fatal "Upload of installer $package_id failed"
wait_for_codeticket
+ packages+=("$package")
else
record_failure "Failed to find additional package for '$package_id'."
fi
done
+ addarrayoutput viewer_packages packages
+
if [ "$last_built_variant" = "Release" ]
then
# nat 2016-12-22: without RELEASE_CRASH_REPORTING, we have no symbol file.
@@ -537,6 +566,7 @@ then
retry_cmd 4 30 python_cmd "$helpers/codeticket.py" addoutput "Symbolfile" "$VIEWER_SYMBOL_FILE" \
|| fatal "Upload of symbolfile failed"
wait_for_codeticket
+ addoutput symbolfile "$VIEWER_SYMBOL_FILE"
fi
# Upload the llphysicsextensions_tpv package, if one was produced
@@ -546,6 +576,8 @@ then
llphysicsextensions_package=$(cat $build_dir/llphysicsextensions_package)
retry_cmd 4 30 python_cmd "$helpers/codeticket.py" addoutput "Physics Extensions Package" "$llphysicsextensions_package" --private \
|| fatal "Upload of physics extensions package failed"
+ ## how to make private?
+ ## addoutput llphysics "$llphysicsextensions_package"
fi
fi