summaryrefslogtreecommitdiff
path: root/build.sh
AgeCommit message (Collapse)Author
2024-04-10Linux: build with clang, link with moldBennett Goble
2024-04-10Merge branch 'main' into marchcat/b-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/newview/lloutfitslist.cpp
2024-04-08Linux GHA builds (#1147)Nicky Dasmijn
* Linux GHA builds Add Ubuntu 22.04 runner and Linux dependencies Do not even try to touch ReleaseFS for Linux yet (this needs KDU, Havok, FMOD) * Lets play a game of 'guess the havok source url' * Move to linux-large runner. * ReleaseOS used OpenAL, not fmod studio (which otherwise is the default) * - Correction for Linux build dir - HAVOK / CrashReporting wrestling. HAVOK is always turned on, even for OS builds Turn this off for Linux-ReleaseOS Same with crashreporting, we need it off for now * Add missing brace * When doing a GHA build pack right into RUNNER_TEMP and then signal the created archive as our "viewer_app" * Upload Linux-ReleaseOS after build * - Need to use os.path.join and not hyst join - set_github_output_path can be called unconditionally * Remove Linux GHA build example.
2024-04-02Fix wrong reverts from #958Andrey Lihatskiy
2024-04-02Revert "Stop requiring BUGSPLAT_USER and BUGSPLAT_PASS in build.sh."Andrey Lihatskiy
This reverts commit 66bf7d6892db950339861a716a78342ba84db746.
2024-03-09Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-03-08Stop requiring BUGSPLAT_USER and BUGSPLAT_PASS in build.sh.Nat Goodspeed
The build step no longer needs these variables at all: they're used in a subsequent workflow job.
2024-03-05Stop requiring BUGSPLAT_USER and BUGSPLAT_PASS in build.sh.Nat Goodspeed
The build step no longer needs these variables at all: they're used in a subsequent workflow job.
2023-11-15SL-20546: Allow running build.sh even without GITHUB_OUTPUT set.Nat Goodspeed
Default it to /dev/null, so output to $GITHUB_OUTPUT is permitted but discarded.
2023-10-04SL-18837: build.sh shouldn't even check for an installer.Nat Goodspeed
We no longer package the installer before this point, and we want to upload symbol files even so.
2023-10-04SL-18837: Upload symbol file and physics pkg without installer.Nat Goodspeed
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-03SL-19242: Remove signing and packaging from viewer_manifest.pyNat Goodspeed
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-09-11SL-19242: Re-enable the rest of the build product uploads.Nat Goodspeed
2023-09-08SL-18837: Stop failing build.sh if there's no installer.Nat Goodspeed
This unblocks ReleaseOS builds, and also preps for SL-19242. Streamline build.sh's Uploads section.
2023-09-02SL-19243: Skip older Mac symbol uploadNat Goodspeed
because it moves the xcarchive.zip file away from where we later want to post it to GitHub.
2023-09-02SL-19243: Post xcarchive.zip instead of separate symbols tarball.Nat Goodspeed
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-01SL-19243: Try harder to list contents of xcarchive.zip.Nat Goodspeed
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-01SL-19243: Try to list contents of xcarchive.zipNat Goodspeed
2023-08-31SL-19243: Try to run Windows BugSplat uploads as a separate GH job.Nat Goodspeed
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-07-18SL-19854: Ensure BugSplat credentials are exported.Nat Goodspeed
2023-07-18SL-18837: Conditionally upload llphysicsextensions-tpv packageNat Goodspeed
but only when building viewer-private. Also re-fix SL-19942 workaround by deleting AUTOBUILD_CONFIGURATION before trying to build llphysicsextensions-tpv.
2023-07-07SL-18837: Use multi-line GitHub outputs to upload artifacts.Nat Goodspeed
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-06SL-18837: Add addoutput, addarrayoutput functions to build.shNat Goodspeed
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-06-28SL-18837: Don't try to engage git-hooks explicitly at all.Nat Goodspeed
2023-06-28SL-18837: git-hooks no longer has requirements.txt?Nat Goodspeed
2023-06-28SL-18837: Don't fetch (unmigrated) build-secrets, use GH secrets.Nat Goodspeed
2021-11-16DRTVWR-546 merge in master v6.5.1Dave Houlton
2021-10-13Merge branch 'master' v6.4.24 into DRTVWR-546Dave Houlton
2021-09-28SL-16040: Honor autobuild_{configure,build}_parameters variables.Nat Goodspeed
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-09SL-15572 - retry logic for codeticket.py commandsBrad Payne (Vir Linden)
2021-08-12Merge branch 'master' into DRTVWR-520-apple-notarizationAndrey Lihatskiy
# 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-07-20Merge branch 'master' into DRTVWR-521-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/llerror.cpp # indra/llui/llnotifications.h # indra/newview/llappviewer.cpp # indra/newview/llappviewermacosx.cpp
2021-07-13SL-15572 - retry logic for codeticket.py commandsBrad Payne (Vir Linden)
2021-07-13SL-15572 - shorter sleeps in build.shBrad Payne (Vir Linden)
2021-07-13SL-15572 - more sleeps in build.shBrad Payne (Vir Linden)
2021-07-13SL-15572 - Possible fix for codeticket upload issueBrad Payne (Vir Linden)
2021-06-30SL-15500: Only run coding_policy_git.py on MacNat Goodspeed
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-30SL-15500: Always have to work around Windows path incompatibilities.Nat Goodspeed
2021-06-29SL-15500: Use plain pip install, not pip_install shell function.Nat Goodspeed
pip_install doesn't know about the '-r requirements.txt' feature.
2021-06-29SL-15500: Install git-hooks (and requirements) and run policy checkNat Goodspeed
on the entire current (branch of the) viewer repo before starting any build.
2021-05-12SL-10297: Merge branch 'sl-10297-oz' into sl-10297.Nat Goodspeed
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few other miscellaneous goodies.
2020-10-05SL-13953 Builds should fail if symbols upload failedAndrey Kleshchev
2020-08-24SL-10297 merged 6.4.7Oz Linden
2020-06-15SL-10297: merge up to master at 6.4.3Oz Linden
2020-03-25[DRTVWR-476] - disable dbghelp.h warningsAnchor
2020-03-25[DRTVWR-476] - target windows 10Anchor
2020-03-25DRTVWR-476: Update Copy3rdPartyLibs.cmake for VS 2017 version.Nat Goodspeed
Also, on Windows, put build output into build-vc$AUTOBUILD_VSVER-$AUTOBUILD_ADDRSIZE instead of hard-coding build-vc120-$AUTOBUILD_ADDRSIZE.
2020-01-28SL-12615: Support a branch-specific setting for viewer_channel in TeamCity ↵Oz Linden
builds
2019-03-02convert to an explicit USE_BUGSPLAT switch in cmake, revise LL_ERRS approachOz Linden
2019-01-16change the default crash type from "freeze" to "other"Oz Linden