Age | Commit message (Collapse) | Author |
|
|
|
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
|
|
Remove BuildParams
|
|
This file is no longer used.
|
|
|
|
The build step no longer needs these variables at all: they're used in a
subsequent workflow job.
|
|
Default it to /dev/null, so output to $GITHUB_OUTPUT is permitted but
discarded.
|
|
We no longer package the installer before this point, and we want to upload
symbol files even so.
|
|
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.
|
|
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.
|
|
|
|
This unblocks ReleaseOS builds, and also preps for SL-19242.
Streamline build.sh's Uploads section.
|
|
because it moves the xcarchive.zip file away from where we later want to post
it to GitHub.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
but only when building viewer-private.
Also re-fix SL-19942 workaround by deleting AUTOBUILD_CONFIGURATION before
trying to build llphysicsextensions-tpv.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
# 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
|
|
# Conflicts:
# autobuild.xml
# indra/llcommon/llerror.cpp
# indra/llui/llnotifications.h
# indra/newview/llappviewer.cpp
# indra/newview/llappviewermacosx.cpp
|
|
|
|
|
|
|
|
|
|
since it fails on Windows due to some problem in the underlying library.
Also wrap the coding policy checks in a TC log subsection.
|
|
|
|
pip_install doesn't know about the '-r requirements.txt' feature.
|
|
on the entire current (branch of the) viewer repo before starting any build.
|
|
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
|
|
|
|
|
|
|
|
|
|
|
|
Also, on Windows, put build output into
build-vc$AUTOBUILD_VSVER-$AUTOBUILD_ADDRSIZE instead of hard-coding
build-vc120-$AUTOBUILD_ADDRSIZE.
|
|
builds
|
|
|
|
|
|
|
|
Thanks Ansariel.
|