diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2023-07-18 09:56:11 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2023-07-18 09:56:11 -0400 |
commit | 479fa3e1964d792ba9483b21b272d52f377f48a2 (patch) | |
tree | 032d8fc962802f4b791dc0dd0756f0cb3cd43986 | |
parent | 14d0b514af4e70956ecc2fbf6fe4c2e745e144a8 (diff) |
SL-18837: Conditionally upload llphysicsextensions-tpv package
but only when building viewer-private.
Also re-fix SL-19942 workaround by deleting AUTOBUILD_CONFIGURATION before
trying to build llphysicsextensions-tpv.
-rw-r--r-- | .github/workflows/build.yaml | 23 | ||||
-rwxr-xr-x | build.sh | 24 |
2 files changed, 30 insertions, 17 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1cc29d95ea..f0c7fdd496 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -192,18 +192,11 @@ jobs: # Given the size of our installers, and the fact that we typically # only want to download just one instead of a single zip containing # several, generate a distinct artifact name for each installer. - # Since the matrix above can run multiple builds on the same + # If the matrix above can run multiple builds on the same # platform, we must disambiguate on more than the platform name. - # If we were still running Windows 32-bit builds, we'd need to + # e.g. if we were still running Windows 32-bit builds, we'd need to # qualify the artifact with bit width. - # DEVELOPER_DIR="/Applications/Xcode_14.0.1.app/Contents/Developer" - # or the empty string, so this produces dev="Xcode_14.0.1" or ".". - dev="$(basename "$(dirname "$(dirname "$DEVELOPER_DIR")")" .app)" - artifact="$RUNNER_OS $dev" - # For empty DEVELOPER_DIR, dev is ".", so artifact can end up with - # appended " ." -- ditch that if present. - artifact="${artifact% .}" - echo "artifact=$artifact" >> $GITHUB_OUTPUT + echo "artifact=$RUNNER_OS" >> $GITHUB_OUTPUT - name: Upload installer uses: actions/upload-artifact@v3 @@ -229,3 +222,13 @@ jobs: # emitted by build.sh, possibly multiple lines path: | ${{ steps.build.outputs.metadata }} + + - name: Upload physics package + uses: actions/upload-artifact@v3 + # should only be set for viewer-private + if: steps.build.outputs.physicstpv + with: + name: "${{ steps.build.outputs.artifact }} physics" + # emitted by build.sh, zero or one lines + path: | + ${{ steps.build.outputs.physicstpv }} @@ -121,8 +121,13 @@ EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) installer=() metadata=() symbolfile=() +physicstpv=() # and dump them to GITHUB_OUTPUT when done -cleanup="$cleanup ; arrayoutput installer ; arrayoutput metadata ; arrayoutput symbolfile" +cleanup="$cleanup ; \ +arrayoutput installer ; \ +arrayoutput metadata ; \ +arrayoutput symbolfile ; \ +arrayoutput physicstpv" trap "$cleanup" EXIT arrayoutput() @@ -216,9 +221,12 @@ package_llphysicsextensions_tpv() # nat 2016-12-21: without HAVOK, can't build PhysicsExtensions_TPV. if [ "$variant" = "Release" -a "${HAVOK:-}" != "OFF" ] then - test -r "$build_dir/packages/llphysicsextensions/autobuild-tpv.xml" || fatal "No llphysicsextensions_tpv autobuild configuration found" - tpvconfig=$(native_path "$build_dir/packages/llphysicsextensions/autobuild-tpv.xml") - "$autobuild" build --quiet --config-file "$tpvconfig" -c Tpv || fatal "failed to build llphysicsextensions_tpv" + tpvconfig="$build_dir/packages/llphysicsextensions/autobuild-tpv.xml" + test -r "$tpvconfig" || fatal "No llphysicsextensions_tpv autobuild configuration found" + # SL-19942: autobuild ignores -c switch if AUTOBUILD_CONFIGURATION set + unset AUTOBUILD_CONFIGURATION + "$autobuild" build --quiet --config-file "$(native_path "$tpvconfig")" -c Tpv \ + || fatal "failed to build llphysicsextensions_tpv" # capture the package file name for use in upload later... PKGTMP=`mktemp -t pgktpv.XXXXXX` @@ -576,13 +584,15 @@ then # Upload the llphysicsextensions_tpv package, if one was produced # *TODO: Make this an upload-extension - if [ -r "$build_dir/llphysicsextensions_package" ] + # Only upload this package when building the private repo so the + # artifact is private. + if [[ "$GITHUB_REPOSITORY" == "secondlife/viewer-private" && \ + -r "$build_dir/llphysicsextensions_package" ]] 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" + physicstpv+=("$llphysicsextensions_package") fi fi |