Commit Graph

257 Commits (514b658fde13bb0c0ec862b081eeebf47bace70d)

Author SHA1 Message Date
Brad Linden b589d394be remove dead code in build.sh 2024-09-19 12:02:57 -07:00
Brad Linden c106221726 Merge remote-tracking branch 'origin/release/2024.06-atlasaurus' into develop
# Conflicts:
 #	.github/workflows/build.yaml
 #	indra/llui/llscrolllistctrl.cpp
2024-08-09 15:43:06 -07:00
Roxie Linden e0737b1423 misnamed file 2024-08-07 15:11:03 -07:00
Roxie Linden 63a4ad9b98 Add Windows multi-pdb upload capability 2024-08-07 14:16:11 -07:00
Roxie Linden b6cd0cd7d0 misspelled xcarchive 2024-08-06 19:43:26 -07:00
Roxie Linden ece9cb8022 Build an xcarchive for mac symbol upload. 2024-08-06 18:41:46 -07:00
Roxie Linden 946b165b99 Missed file 2024-08-05 21:34:52 -07:00
Roxie Linden e96416bdd2 missing quotes 2024-08-05 19:25:59 -07:00
Roxie Linden 293187e04b Build mac symbols for multiple binaries/dynamic libraries and upload them all to bugsplat 2024-08-05 18:17:03 -07:00
Signal Linden dfa7d60a72
build.yaml: Fix FROM_FORK value, ReleaseOS PR builds (#2147) 2024-07-30 10:09:49 -07:00
Bennett Goble a0b3021bdc Trim trailing whitespace
Start trimming trailing whitespace, but limit the blast radius to a
handful of file types.
2024-05-29 08:10:00 -07:00
Nat Goodspeed 4329e95379 Turn on LL_TESTS for CI builds. 2024-05-02 09:14:55 -04:00
Bennett Goble 0f94ea86d4 CI: adopt xz compression
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
2024-04-11 15:18:42 -07:00
Signal Linden c070f23547
Merge pull request #1095 from secondlife/signal/rm-buildparams
Remove BuildParams
2024-04-11 11:32:12 -07:00
Bennett Goble 2b1e372f76 Remove BuildParams
This file is no longer used.
2024-03-30 21:21:55 -07: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