Commit Graph

46614 Commits (b449667d8d5fb24adb0e1672ba9182a8ecabf97c)

Author SHA1 Message Date
Nat Goodspeed b449667d8d SL-19854: Ensure BugSplat credentials are exported. 2023-07-18 16:19:19 -04:00
Nat Goodspeed 0d4228b55a SL-18837: Use secondlife -3p/action-gh-release
instead of the original softprops/action-gh-release repo, because organization
rules forbid directly using the softprops repo.
2023-07-18 15:38:44 -04:00
Nat Goodspeed 2b97587a14 SL-18837: Try to post installer and metadata for GH viewer release. 2023-07-18 15:25:09 -04:00
Nat Goodspeed ecb938c95b SL-18837: Try waiting a couple seconds before hdiutil detach
to try to avoid "Resource busy" errors from hdiutil.
2023-07-18 13:38:05 -04:00
Nat Goodspeed dcb1403661 SL-18837: Re-delete redundant matrix.include python-version.
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-18 11:41:32 -04:00
Nat Goodspeed a4882870f8 SL-18837: Merge branch 'actions' into actions-build-sh 2023-07-18 11:37:55 -04:00
Nat Goodspeed 6fd46b85f5 SL-18837: Detect msys bash as well as cygwin for native_path et al. 2023-07-18 10:54:12 -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 14d0b514af SL-18837: Ditch inactive llrand.cpp LL_USE_SYSTEM_RAND code.
LL_USE_SYSTEM_RAND has been disabled since June 2008; that code only clutters
the implementation we actually use.
2023-07-18 09:45:00 -04:00
Nat Goodspeed 4b158580e5 SL-18837: Lowercasing pathname for string compare is Windows-only. 2023-07-17 16:47:50 -04:00
Nat Goodspeed 167ac704c8 SL-18837: Clean up some redundancy in llrand.cpp. 2023-07-17 16:20:59 -04:00
Nat Goodspeed 54f9ca5404 SL-18837: Merge branch 'actions' into actions-build-sh 2023-07-17 15:41:26 -04:00
nat-goodspeed f60bf98739
Merge pull request #242 from secondlife/brad/actions
SL-18837 set build id based on github workflow run id
2023-07-17 21:56:19 +03:00
Brad Linden d501c24367 Merge remote-tracking branch 'origin/actions' into brad/actions (#242) 2023-07-14 18:06:21 -07:00
Brad Linden 0998d46f47 Fix "intermittent" llrand unit test failure on windows on DRTVWR-578. we 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-14 18:05:44 -07:00
Nat Goodspeed c149d8440a SL-18837: Merge branch 'actions' into actions-build-sh
to pick up new llphysicsextension_source build (that recognizes msys bash).
2023-07-14 10:19:13 -04:00
Nat Goodspeed 6f1e7d58e3 SL-18837: Update llphysicsextensions_source to release v1.0.c93156d. 2023-07-14 10:17:13 -04:00
Nat Goodspeed c77737b925 SL-18837: Windows failures in setWorkingDirectory(): C: vs. c: (sigh)
Normalize the case of the name of the temp directory for string comparison.
2023-07-10 15:26:21 -04:00
Nat Goodspeed d8292a6291 SL-18837: Disable APR_LOG for now, but leave notes for the future. 2023-07-10 14:46:14 -04:00
Nat Goodspeed 31ccef8a66 SL-18837: Revert "Force llprocess_test and llleap_test to use just 'python'."
Turns out that the pathname of the Python executable wasn't the issue.

This reverts commit 7dc6211ad5.
2023-07-10 14:35:41 -04:00
Nat Goodspeed 13d44e5bed SL-18837: Merge branch 'actions' into actions-build-sh
to pick up new APR build that avoids toxic CreateProcessW() flag. It used to
be essential on Windows 7; now it's the cause of our integration test failures.
2023-07-10 14:07:54 -04:00
Nat Goodspeed 41a738591e SL-18837: Update apr_suite to release v1.7.2-e935465. 2023-07-10 13:21:02 -04:00
Nat Goodspeed 7dc6211ad5 SL-18837: Force llprocess_test and llleap_test to use just 'python'.
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-08 14:08:16 -04:00
Nat Goodspeed ca4288edaa SL-18837: Try running just 'python' for Windows integration tests. 2023-07-08 13:35:53 -04:00
Nat Goodspeed eff1c0b55c SL-18837: Set APR_LOG within build step, not at job level. 2023-07-08 13:15:01 -04:00
Nat Goodspeed 0d4e5b6bf8 SL-18837: Use runner.temp rather than $RUNNER_TEMP. 2023-07-08 13:12:25 -04:00
Nat Goodspeed 1ec6c74404 SL-18837: Set APR_LOG once for the whole job
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-08 11:08:16 -04:00
Nat Goodspeed f37d2c3076 SL-18837: Don't use LLDir, use NamedTempFile::temp_path.
Remove llcommon circular dependency on llfilesystem, which doesn't work for
this case anyway.
2023-07-08 09:04:33 -04:00
Nat Goodspeed 908fb3fed6 SL-18837: Ditch unreferenced name of caught exception 2023-07-07 20:54:34 -04:00
Nat Goodspeed 09c5b01997 SL-18837: Hook in LLDir to allow reading APR log file. 2023-07-07 20:02:33 -04:00
Nat Goodspeed 8aa3a0a7ed SL-18837: Fix spurious semi 2023-07-07 19:48:02 -04:00
Nat Goodspeed 8f81e1fa87 SL-18837: Fix "lldir.h" #include 2023-07-07 17:47:57 -04:00
Nat Goodspeed 1fc8758458 SL-18837: Coax APR to log LLProcess launch attempts; show log file. 2023-07-07 17:31:50 -04:00
Nat Goodspeed c4b5d089da SL-18837: Partially revert e933ace, keeping useful tweaks.
Introducing indirection via test_python_script.py did NOT address the "Access
is denied" errors on GitHub Windows runners.
2023-07-07 16:57:20 -04:00
Nat Goodspeed e933ace53b SL-18837: Try to bypass Windows perm problem with Python indirection. 2023-07-07 14:07:12 -04:00
Nat Goodspeed f54c121567 SL-18837: Try putting generated Python scripts in RUNNER_TEMP dir.
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-07 10:06:02 -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 07b47160f1 SL-18837: Ding Dong, 32-bit is dead! 2023-07-06 17:38:58 -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 5f1de35f39 SL-18837: Unset AUTOBUILD_CONFIGURATION.
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-30 10:51:03 -04:00
Nat Goodspeed 153f5cdb9f SL-18837: Revert "Install autobuild from source repo, not PyPI."
That doesn't seem to be the distinction between TC builds and GH builds.
Instead, we'll try unsetting AUTOBUILD_CONFIGURATION.

This reverts commit d62e7039da.
2023-06-30 10:44:17 -04:00
Nat Goodspeed d62e7039da SL-18837: Install autobuild from source repo, not PyPI.
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-29 14:03:31 -04:00
Nat Goodspeed 2ab1431648 SL-18837: Temporarily suppress Windows builds; add finalize function
Also pretend novel arch value MINGW6 is really CYGWIN so we'll recognize it.
2023-06-29 09:08:41 -04:00
Nat Goodspeed 3c63cc9c55 SL-18837: Make LLVersionInfo::getBuild() S64 for GitHub run IDs. 2023-06-28 18:36:51 -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 d2294841b2 SL-18837: Get buildscripts_support_functions from sling-buildscripts
and use these variants for GitHub builds.
2023-06-28 16:58:32 -04:00
Nat Goodspeed 853cf3928c SL-18837: Don't fetch (unmigrated) build-secrets, use GH secrets. 2023-06-28 16:44:03 -04:00
Nat Goodspeed ce3508613b SL-18837: Include actions-build-sh branch in build trigger pushes. 2023-06-28 09:36:25 -04:00
Brad Linden a163931b77 SL-18837 improvements suggested by code review 2023-06-27 21:25:54 -07:00