summaryrefslogtreecommitdiff
path: root/build.sh
AgeCommit message (Collapse)Author
2024-08-19Merge remote-tracking branch 'secondlife/release/2024.06-atlasaurus' into ↵Erik Kundiman
2024.06-atlasaurus
2024-08-09fix build.sh whitespaceBrad Linden
2024-08-07misnamed fileRoxie Linden
2024-08-07Add Windows multi-pdb upload capabilityRoxie Linden
2024-08-06misspelled xcarchiveRoxie Linden
2024-08-06Build an xcarchive for mac symbol upload.Roxie Linden
2024-08-05Missed fileRoxie Linden
2024-08-05missing quotesRoxie Linden
2024-08-05Build mac symbols for multiple binaries/dynamic libraries and upload them ↵Roxie Linden
all to bugsplat
2024-05-30Disable build-time tests on Linux entirely.Nat Goodspeed
Having done that, fall back to default `continue-on-error: false` for all platforms.
2024-05-16Try turning on Maint B tests: Linux platform overrides with OFF.Nat Goodspeed
2024-05-02Turn on LL_TESTS for CI builds.Nat Goodspeed
2024-04-12Merge branch 'main' into release/maint-bBennett Goble
2024-04-11CI: adopt xz compressionBennett Goble
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
2024-04-11Merge pull request #1095 from secondlife/signal/rm-buildparamsSignal Linden
Remove BuildParams
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-30Remove BuildParamsBennett Goble
This file is no longer used.
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)