Go to file
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
.github SL-18837: Use multi-line GitHub outputs to upload artifacts. 2023-07-07 06:38:03 -04:00
doc SL-19660 Updated contributions doc 2023-05-09 17:58:13 +03:00
etc SL-694 - stub support for ObjectAnimation message type 2017-05-30 22:03:43 +01:00
indra SL-18837: Make LLVersionInfo::getBuild() S64 for GitHub run IDs. 2023-06-28 18:36:51 -04:00
scripts DRTVWR-558: Merge branch 'main' of secondlife/viewer into actions 2023-05-19 10:43:14 -04:00
.clang-format DRTVWR-497 tweak clang-format rules for argument packing 2020-08-24 13:52:57 -06:00
.gitignore Remove cygwin artifacts 2022-10-10 11:23:05 -07:00
.pre-commit-config.yaml SL-15741: Add pre-commit configuration 2022-01-24 18:47:10 +02:00
BuildParams Merge branch 'SL-15742' into DRTVWR-527-maint 2021-12-16 00:58:44 +02:00
LICENSE Renamed LICENSE.txt to follow naming scheme of other repos 2022-11-18 17:10:03 -05:00
README.md Fix readme logo for dark theme sites 2022-11-18 06:22:43 -05:00
autobuild.xml Revert "SL-18837: On Windows, try using py.exe Python stub." 2023-06-07 14:48:24 -07:00
build.sh SL-18837: Use multi-line GitHub outputs to upload artifacts. 2023-07-07 06:38:03 -04:00
buildscripts_support_functions SL-18837: Get buildscripts_support_functions from sling-buildscripts 2023-06-28 16:58:32 -04:00

README.md

Second Life Logo

Second Life is a free 3D virtual world where users can create, connect and chat with others from around the world. This repository contains the source code for the official client.

Open Source

Second Life provides a huge variety of tools for expression, content creation, socialization and play. Its vibrancy is only possible because of input and contributions from its residents. The client codebase has been open source since 2007 and is available under the LGPL license. The Open Source Portal contains additional information about Linden Lab's open source history and projects.

Download

Most people use a pre-built viewer release to access Second Life. Windows and macOS builds are published on the official website. More experimental viewers, such as release candidates and project viewers, are detailed on the Alternate Viewers page.

Third Party Viewers

Third party maintained forks, which include Linux compatible builds, are indexed in the Third Party Viewer Directory.

Build Instructions

Windows

Mac

Linux

Contribute

Help make Second Life better! You can get involved with improvements by filing bugs, suggesting enhancements, submitting pull requests and more. See the open source portal for details.