Commit Graph

243 Commits (f8ccb39b8d944f9d2bf4308f909273cd5a35cbe7)

Author SHA1 Message Date
Nat Goodspeed f8ccb39b8d Bring over .xz compression from main, instead of .bz2.
The main branch, and the current rev of viewer-build-util, consistently uses
.xz for tarballs.
2024-05-22 09:26:05 -04:00
Andrey Lihatskiy 091ee67ec5 Merge branch 'main' into DRTVWR-588-maint-W 2024-03-09 19:46:09 +02:00
Nat Goodspeed 041c66d59a Stop requiring BUGSPLAT_USER and BUGSPLAT_PASS in build.sh.
The build step no longer needs these variables at all: they're used in a
subsequent workflow job.
2024-03-05 14:29:24 -05:00
Nat Goodspeed 6a206b1a61 SL-20546: Allow running build.sh even without GITHUB_OUTPUT set.
Default it to /dev/null, so output to $GITHUB_OUTPUT is permitted but
discarded.
2023-11-15 09:45:10 -05:00
Nat Goodspeed 1570153a84 SL-18837: build.sh shouldn't even check for an installer.
We no longer package the installer before this point, and we want to upload
symbol files even so.
2023-10-04 19:40:46 -04:00
Nat Goodspeed 89191059ef SL-18837: Upload symbol file and physics pkg without installer.
build.sh logic used to test whether the installer existed and skip the
symbol-file and llphysicsextensions uploads if not. Since we now sign and
package the built viewer in a later build job, it's no longer appropriate to
gate these uploads on existence of the installer.
2023-10-04 16:54:07 -04:00
Nat Goodspeed 1684d62499 SL-19242: Remove signing and packaging from viewer_manifest.py
for Mac and Windows. That's now done by subsequent jobs in the GitHub build.
Remove workflow step to upload installers before signing and packaging jobs.

Remove from viewer_manifest.py conditionals for 32-bit Windows or Mac.

Also bump to actions/checkout@v4, per dependabot.
2023-10-03 19:02:40 -04:00
Nat Goodspeed fab7b300b9 SL-19242: Re-enable the rest of the build product uploads. 2023-09-11 15:34:14 -04:00
Nat Goodspeed 63d5d38e36 SL-18837: Stop failing build.sh if there's no installer.
This unblocks ReleaseOS builds, and also preps for SL-19242.

Streamline build.sh's Uploads section.
2023-09-08 17:24:04 -04:00
Nat Goodspeed 5bf2317bd8 SL-19243: Skip older Mac symbol upload
because it moves the xcarchive.zip file away from where we later want to post
it to GitHub.
2023-09-02 12:19:26 -04:00
Nat Goodspeed 3eea556c28 SL-19243: Post xcarchive.zip instead of separate symbols tarball.
On Mac, in the CMake USE_BUGSPLAT logic, we created both xcarchive.zip (which
is what BugSplat wants to see) and secondlife-symbols-darwin -64.tar.bz2 (which
we don't think is used for anything). The tarball was posted to codeticket --
but why? If the point is to manually re-upload to BugSplat in case of failure,
we'll do better saving xcarchive.zip to codeticket.

For SL-19243, posting xcarchive.zip directly supports the goal of breaking out
the upload to BugSplat as a separate step.

Anyway, since xcarchive.zip is a superset of the tarball, the tarball can be
recreated from the zip file, whereas the zip file can't be recreated from the
tarball without opening the .dmg installer and extracting the viewer executable.

If the xcarchive.zip file exists (that is, on Mac), post that to codeticket or
GitHub, as applicable, instead of the tarball. In fact, in the USE_BUGSPLAT
case, don't even bother creating the tarball since we're going to ignore it.

Make the new build.sh logic that insists on BUGSPLAT_USER and BUGSPLAT_PASS
conditional on BUGSPLAT_DB.
2023-09-02 11:02:23 -04:00
Nat Goodspeed bfb059d4ff SL-19243: Try harder to list contents of xcarchive.zip.
upload-mac-symbols.sh actually moves the xcarchive.zip file to /tmp, which is
why we couldn't find it when trying to list its contents after the upload.
2023-09-01 15:28:36 -04:00
Nat Goodspeed 1f6213a584 SL-19243: Try to list contents of xcarchive.zip 2023-09-01 12:58:53 -04:00
Nat Goodspeed e8cd5205e8 SL-19243: Try to run Windows BugSplat uploads as a separate GH job.
Upload a new Windows-exe artifact containing just the executable (needed by
BugSplat) separately from the artifact containing the whole NSIS installer.
This requires a new viewer_exe step output set by viewer_manifest.py.

Define viewer_channel and viewer_version as build job outputs.

Set viewer_channel in build.yaml when tag is interpreted.

Set viewer_version in build.sh at the point when it would have posted
viewer_version.txt to codeticket.

Add a post-windows-symbols job dependent on the build job that engages
secondlife/viewer-post-bugsplat-windows, which in turn engages
secondlife/post-bugsplat-windows. We keep the actual upload code in a separate
repo in case we need to modify that code before rerunning to resolve upload
errors. If we kept the upload code in the viewer repo itself, rerunning the
upload with modifications would necessarily require rerunning the viewer
build, which would defeat the purpose of SL-19243.

Because of that new upload job in build.yaml, skip Windows symbol uploads
in build.sh.

Use a simple (platform name) artifact name for metadata because of
flatten_files.py's filename collision resolution.

Use hyphens, not spaces, in remaining artifact names: apparently
download-artifact doesn't much like artifacts with spaces in their names.

Only run the release job when in fact there's a tag. Without that, we get
errors. We need not create flatten_files.py's output directory beforehand
because it will do that implicitly.
2023-08-31 15:53:56 -04:00
Nat Goodspeed b449667d8d SL-19854: Ensure BugSplat credentials are exported. 2023-07-18 16:19:19 -04:00
Nat Goodspeed 479fa3e196 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.
2023-07-18 09:56:11 -04:00
Nat Goodspeed 2b1a3cf9cd SL-18837: Use multi-line GitHub outputs to upload artifacts.
Having observed installer upload failures, I discovered the warning in
actions/upload-artifact/README.md about multiple concurrent jobs trying to
post the same pathname to the same artifact name. Try to disambiguate
artifacts not only for different platforms, but for different jobs running on
the same platform.

This change also reflects my understanding that an artifact is (effectively) a
distinct zip file that can contain multiple uploaded files. Because we'll want
to download metadata without having to download enormous installers, create a
separate metadata artifact per platform. Similarly, symbol files can get large:
use a third distinct artifact for symbol files.

But with those artifacts defined, leverage actions/upload-artifact's ability
to upload multiple paths to the same artifact. In build.sh, define bash arrays
installer, metadata, symbolfile and set up so that, on exit, each is written
to a GITHUB_OUTPUT variable with the corresponding name. This involves a
little magic to get macOS bash 3 to indirectly access an array.

These multi-line output variables are then used to drive the upload-artifact
step for each of the defined artifacts.
2023-07-07 06:38:03 -04:00
Nat Goodspeed ca5f3e3b35 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.
2023-07-06 17:29:40 -04:00
Nat Goodspeed 41d937d2c0 SL-18837: Don't try to engage git-hooks explicitly at all. 2023-06-28 17:15:06 -04:00
Nat Goodspeed ab6fd15d61 SL-18837: git-hooks no longer has requirements.txt? 2023-06-28 17:08:04 -04:00
Nat Goodspeed 853cf3928c SL-18837: Don't fetch (unmigrated) build-secrets, use GH secrets. 2023-06-28 16:44:03 -04:00
Dave Houlton 353329c2c2 DRTVWR-546 merge in master v6.5.1 2021-11-16 11:44:55 -07:00
Dave Houlton 6b2e40157b Merge branch 'master' v6.4.24 into DRTVWR-546 2021-10-13 16:41:24 -06:00
Nat Goodspeed 3e12a97a7f SL-16040: Honor autobuild_{configure,build}_parameters variables.
The generic build.sh script honors these environment variables to specify
parameters to the autobuild configure and autobuild build steps, respectively.
Support them in the viewer-specific build.sh too.

In the generic build.sh, autobuild_configure_parameters allows specifying
command-line switches either for autobuild or, following --, for the
underlying tool (in our case, CMake). In order to support that variable the
same way here, we insert -- (as before) when autobuild_configure_parameters is
unset or empty, since the rest of the switches *we* specify are for CMake.

That means that, as with the generic build.sh, a non-empty
autobuild_configure_parameters override must precede any switches intended for
CMake with the -- separator.
2021-09-28 16:40:33 -04:00
Brad Payne (Vir Linden) e3c256bdaf SL-15572 - retry logic for codeticket.py commands 2021-09-09 23:07:15 +03:00
Andrey Lihatskiy 97f09de4fc Merge branch 'master' into DRTVWR-520-apple-notarization
# Conflicts:
#	autobuild.xml
#	build.sh
#	indra/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewermacosx.cpp
#	indra/newview/llappviewerwin32.h
#	indra/newview/viewer_manifest.py
#	indra/win_crash_logger/llcrashloggerwindows.cpp
2021-08-12 23:13:12 +03:00
Andrey Lihatskiy 6c8e6f033b Merge branch 'master' into DRTVWR-521-maint
# Conflicts:
#	autobuild.xml
#	indra/llcommon/llerror.cpp
#	indra/llui/llnotifications.h
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewermacosx.cpp
2021-07-20 02:48:05 +03:00
Brad Payne (Vir Linden) 4d15f18d92 SL-15572 - retry logic for codeticket.py commands 2021-07-13 21:40:00 +01:00
Brad Payne (Vir Linden) 502afc5ed2 SL-15572 - shorter sleeps in build.sh 2021-07-13 18:20:56 +01:00
Brad Payne (Vir Linden) 3d57b7946a SL-15572 - more sleeps in build.sh 2021-07-13 16:19:35 +01:00
Brad Payne (Vir Linden) e0eb9b96f7 SL-15572 - Possible fix for codeticket upload issue 2021-07-13 14:55:11 +01:00
Nat Goodspeed 6460b7ac41 SL-15500: Only run coding_policy_git.py on Mac
since it fails on Windows due to some problem in the underlying library.

Also wrap the coding policy checks in a TC log subsection.
2021-06-30 09:48:02 -04:00
Nat Goodspeed d2de2f9d25 SL-15500: Always have to work around Windows path incompatibilities. 2021-06-30 08:11:30 -04:00
Nat Goodspeed 0276a32569 SL-15500: Use plain pip install, not pip_install shell function.
pip_install doesn't know about the '-r requirements.txt' feature.
2021-06-29 18:04:03 -04:00
Nat Goodspeed ab185263fa SL-15500: Install git-hooks (and requirements) and run policy check
on the entire current (branch of the) viewer repo before starting any build.
2021-06-29 17:45:13 -04:00
Nat Goodspeed fd1545197a SL-10297: Merge branch 'sl-10297-oz' into sl-10297.
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
2021-05-12 13:56:19 -04:00
Andrey Kleshchev 8803157a21 SL-13953 Builds should fail if symbols upload failed 2020-10-05 20:56:26 +03:00
Oz Linden a9d271c5a2 SL-10297 merged 6.4.7 2020-08-24 13:11:07 -04:00
Oz Linden 86009f885e SL-10297: merge up to master at 6.4.3 2020-06-15 15:29:04 -04:00
Anchor b09770946a [DRTVWR-476] - disable dbghelp.h warnings 2020-03-25 18:39:20 -04:00
Anchor 636989c139 [DRTVWR-476] - target windows 10 2020-03-25 18:39:20 -04:00
Nat Goodspeed e849dfb9fa DRTVWR-476: Update Copy3rdPartyLibs.cmake for VS 2017 version.
Also, on Windows, put build output into
build-vc$AUTOBUILD_VSVER-$AUTOBUILD_ADDRSIZE instead of hard-coding
build-vc120-$AUTOBUILD_ADDRSIZE.
2020-03-25 16:08:43 -04:00
Oz Linden 2c81050b68 SL-12615: Support a branch-specific setting for viewer_channel in TeamCity builds 2020-01-28 18:50:37 +02:00
Oz Linden e409c0492f convert to an explicit USE_BUGSPLAT switch in cmake, revise LL_ERRS approach 2019-03-02 11:58:11 -05:00
Oz Linden fc90cad4f3 change the default crash type from "freeze" to "other" 2019-01-16 16:42:34 -05:00
Oz Linden 6c533888ba build hack for upload failures 2019-01-14 16:30:49 -05:00
Nat Goodspeed db76dbba33 SL-957: Convert absolute VIEWER_SYMBOL_FILE to native_path.
Thanks Ansariel.
2018-08-31 16:59:59 -04:00
Nat Goodspeed 503c2aa9a3 SL-957: Pass an absolute pathname to CMake for VIEWER_SYMBOL_FILE. 2018-08-31 15:42:58 -04:00
Nat Goodspeed 5ff160f72e SL-957: Generate the expected symbols tarball even with BugSplat.
This is a separate step from generating and posting BugSplat symbols, since
BugSplat needs the executable along with the symbols, and we don't need to
consume that space in a symbols tarball.

Move Mac BugSplat symbol generation logic to CMake land, the same general area
where Breakpad symbols are generated. Add stanzas to pack up the usual tarball
for Windows and Mac.

Remove the build.sh test that suppressed uploading the symbols tarball for
BugSplat builds.
2018-08-30 12:12:37 -04:00
Nat Goodspeed 3f7c75b8a0 SL-957: Explicitly pass VIEWER_SYMBOL_FILE from build.sh into CMake
instead of relying on both indra/newview/CMakeLists.txt and build.sh
generating the same file pathname.

Make build.sh set VIEWER_SYMBOL_FILE (instead of symbolfile) in pre_build, and
pass it to autobuild configure via -D switch. Then the uploads stanza can just
use VIEWER_SYMBOL_FILE instead of performing its platform-sensitive case
statement right there.

Introduce VIEWER_SYMBOL_FILE CMake cache variable, default empty string.

Make indra/newview/CMakeLists.txt generate_breakpad_symbols logic conditional
on VIEWER_SYMBOL_FILE being non-empty, as well as everything else. Eliminate
local set(VIEWER_SYMBOL_FILE) directives.
2018-08-27 13:55:50 -04:00