summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2023-09-12SL-19243: Use consolidated viewer-build-utilNat Goodspeed
instead of distinct viewer-post-bugsplat-{windows,mac} repos.
2023-09-11SL-19242: Try harder to post artifacts containing exactly app image.Nat Goodspeed
In a Windows build tree, we don't actually have an app-named top directory, so don't package its containing directory -- just the app dir itself, e.g. "newview/Release". In a Mac build tree, though we do have "Second Life Mumble.app", its parent directory also contains other large stuff. Try posting a temp directory containing a symlink to the .app. Ditch the "!*.bat" exclusion: the presence of a second path (even an exclusion) changes how upload-artifact nests its contents.
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-08SL-19242: Post -app artifact, not -exe, with entire install image.Nat Goodspeed
Previously we posted Windows-exe, macOS-exe artifacts that were a little inconsistent: Windows-exe contained just the Windows executable, whereas macOS-exe contained the whole .app tree (but without the .app directory). Change to post Windows-app, macOS-app artifacts that each contain the whole viewer install image, including the top-level application name directory. This is what we'll need to codesign and notarize.
2023-09-08SL-18837: Suppress ReleaseOS for now.Nat Goodspeed
2023-09-07SL-18837: Suppress BUGSPLAT_DB for ReleaseOS builds.Nat Goodspeed
2023-09-07SL-18837: String literals are single-quoted in GitHub expressions.Nat Goodspeed
2023-09-07SL-18837: Segregate ReleaseOS artifacts; don't even upload.Nat Goodspeed
Eliminate references to (no longer set) matrix.addrsize.
2023-09-07SL-18837: Merge branch 'main' into actionsNat Goodspeed
2023-09-06SL-19243: Specify macos-latest for post-mac-symbols.Nat Goodspeed
We want to run on a GitHub-hosted runner rather than one of our own.
2023-09-01SL-19243: Add post-mac-symbols job using viewer-post-bugsplat-mac.Nat Goodspeed
The initial viewer-post-bugsplat-mac is just a placeholder so far, but we can flesh it out while the viewer builds necessitated by this change are running, and then we can iterate on viewer-post-bugsplat-mac without having to rebuild the viewer.
2023-09-01SL-19243: Job to post windows symbols must run on Windows.Nat Goodspeed
2023-08-31SL-19243: Fix wonky 'if:' in build.yamlNat Goodspeed
2023-08-31SL-19243: Fix 'uses:' reference to viewer-post-bugsplat-windowsNat Goodspeed
2023-08-31SL-19243: Fix build.yaml syntax error.Nat 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-08-29SL-18837: Only list the downloaded artifacts.Nat Goodspeed
2023-08-29SL-18837: Introduce flatten_files.py and use to post release assetsNat Goodspeed
2023-08-28SL-18837: Experiment with download-artifact downloading all files.Nat Goodspeed
2023-08-23Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-08-18SL-18837: Engage initial GH viewer release script.Nat Goodspeed
2023-07-22SL-18837: Use 'needs' context, not 'jobs' contextNat Goodspeed
in release job to reference outputs from the build job. Also mark the release as prerelease, and fail the release action if we still can't find the files we're trying to post.
2023-07-22SL-18837: Try posting build.yaml step outputs as job outputs.Nat Goodspeed
2023-07-21SL-18837: Tags can't have spaces or colons. Look for valid ones.Nat Goodspeed
2023-07-21SL-18837: Try triggering GH release for tag like "Second Life "...Nat Goodspeed
2023-07-18SL-18837: Use secondlife -3p/action-gh-releaseNat Goodspeed
instead of the original softprops/action-gh-release repo, because organization rules forbid directly using the softprops repo.
2023-07-18SL-18837: Try to post installer and metadata for GH viewer release.Nat Goodspeed
2023-07-18SL-18837: Re-delete redundant matrix.include python-version.Nat Goodspeed
This clarifies that the matrix.include entry is intended to supplement an existing runner configuration, rather than adding a new configuration for the same runner.
2023-07-18SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed
2023-07-18SL-18837: Detect msys bash as well as cygwin for native_path et al.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-17SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed
2023-07-14Fix "intermittent" llrand unit test failure on windows on DRTVWR-578. we ↵Brad Linden
must return less than 1.0 when rand() returns RAND_MAX also, disable 32 bit build now that we have deprecated it. https://community.secondlife.com/blogs/entry/13464-end-of-support-for-second-life-32-bit-windows-viewer-and-updated-minimum-system-requirements-for-macos-to-1013/
2023-07-10SL-18837: Disable APR_LOG for now, but leave notes for the future.Nat Goodspeed
2023-07-08SL-18837: Force llprocess_test and llleap_test to use just 'python'.Nat Goodspeed
On GitHub Windows runners, trying to make build.yaml set PYTHON=python in the environment doesn't work: integration tests still fail with "Access is denied" because they're still trying to execute the interpreter's full pathname. Instead, make llprocess_test and llleap_test detect the case of GitHub Windows and override the environment variable PYTHON with a baked-in string constant "python".
2023-07-08SL-18837: Try running just 'python' for Windows integration tests.Nat Goodspeed
2023-07-08SL-18837: Set APR_LOG within build step, not at job level.Nat Goodspeed
2023-07-08SL-18837: Use runner.temp rather than $RUNNER_TEMP.Nat Goodspeed
2023-07-08SL-18837: Set APR_LOG once for the whole jobNat Goodspeed
instead of a new value for each LLProcess::create() invocation. Since the internal apr_log() function only looks at APR_LOG once per process, the first test (which succeeded, hence no log file dump) left the log file open with that same original pathname. Resetting the APR_LOG environment variable for subsequent runs only made the new code in llprocess_test look for files that were never created.
2023-07-07SL-18837: Try putting generated Python scripts in RUNNER_TEMP dir.Nat Goodspeed
The claim is that the Windows Python interpreter is integrated somehow with the OS such that a command line that tries to run Python with a script that "looks suspicious" (i.e. in a system temp directory) fails with "Access denied" without even loading the interpreter. At least that theory would explain the "Access denied" errors we've been getting trying to run Python scripts generated into the system temp directory by our integration tests. Our hope is that generating such scripts into the GitHub RUNNER_TEMP directory will work better. As this test is specific to Windows, don't even bother running Mac builds.
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: Ding Dong, 32-bit is dead!Nat Goodspeed
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-30SL-18837: Unset AUTOBUILD_CONFIGURATION.Nat Goodspeed
We suspect that autobuild incorrectly prioritizes AUTOBUILD_CONFIGURATION over its command-line -c switch. The autobuild command to build the TPV package for llphysicsextensions specifies -c Tpv (the configuration in the specified config file), but with AUTOBUILD_CONFIGURATION=Release set, autobuild fails: "ERROR: no configuration for build configuration 'Release' found"
2023-06-30SL-18837: Revert "Install autobuild from source repo, not PyPI."Nat Goodspeed
That doesn't seem to be the distinction between TC builds and GH builds. Instead, we'll try unsetting AUTOBUILD_CONFIGURATION. This reverts commit d62e7039dafe4a49d548225203785eeda0eeb44a.
2023-06-29SL-18837: Install autobuild from source repo, not PyPI.Nat Goodspeed
Bug in autobuild 3.9.2? The TC viewer build can successfully build llphysicsextensions/autobuild-tpv.xml, but the previous GH actions build failed: "no configuration for Release found" despite -c Tpv. The difference seems to be that we used 'pip3 install autobuild' from PyPI, whereas the TC buildscripts setup clones secondlife/autobuild branch v3 and installs from that repo.
2023-06-29SL-18837: Temporarily suppress Windows builds; add finalize functionNat Goodspeed
Also pretend novel arch value MINGW6 is really CYGWIN so we'll recognize it.
2023-06-28SL-18837: Don't try to engage git-hooks explicitly at all.Nat Goodspeed
2023-06-28SL-18837: Get buildscripts_support_functions from sling-buildscriptsNat Goodspeed
and use these variants for GitHub builds.
2023-06-28SL-18837: Don't fetch (unmigrated) build-secrets, use GH secrets.Nat Goodspeed