Skip to content

Commit 7933dd9

Browse files
committed
Merge branch 'develop' into appearance-fixes
2 parents 1a1b03e + cb8b457 commit 7933dd9

File tree

1,301 files changed

+84305
-33124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,301 files changed

+84305
-33124
lines changed

.editorconfig

Lines changed: 0 additions & 14 deletions
This file was deleted.

.git-blame-ignore-revs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
a0b3021bdcf76859054fda8e30abb3ed47749e83
66
8444cd9562a6a7b755fcb075864e205122354192
77
863c541ce0b2e3e1e566cc88423d3e87aaedb6ca
8+
743a1a6d8eabf069d95777c96e5b657cb8702593
9+
4a00da1ada89af6f313cee30f5177634b0b180a9
810
# Wrong line endings
911
1b67dd855c41f5a0cda7ec2a68d98071986ca703
1012
6cc7dd09d5e69cf57e6de7fb568a0ad2693f9c9a
1113
e2e37cced861b98de8c1a7c9c0d3a50d2d90e433
14+
# multiple problems
15+
5370a6d323e14d7b4e32a3f41ef78f7744e361c5

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ indra/tools/vstool/* -text
2727
*.dll binary
2828
*.exe binary
2929

30+
# llapputil test data
31+
*.binary binary
32+
*.output binary
33+
3034
# Files with Windows line endings
3135
VivoxAUP.txt text eol=crlf
3236
FILES_ARE_UNICODE_UTF-16LE.txt text eol=crlf

.github/workflows/build.yaml

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Build
33
on:
44
pull_request:
55
push:
6-
branches: ["main", "release/*", "project/*"]
6+
branches: ["develop", "main", "release/*", "project/*"]
77
tags: ["Second_Life*"]
88

99
jobs:
@@ -13,11 +13,15 @@ jobs:
1313
runs-on: ubuntu-latest
1414
outputs:
1515
release_run: ${{ steps.setvar.outputs.release_run }}
16-
configurations: ${{ steps.setvar.outputs.configurations }}
16+
config: ${{ steps.setvar.outputs.config }}
1717
bugsplat_db: ${{ steps.setvar.outputs.bugsplat_db }}
1818
env:
1919
# Build with a tag like "Second_Life#abcdef0" to generate a release page
2020
# (used for builds we are planning to deploy).
21+
# Even though inputs.release_run is specified with type boolean, which
22+
# correctly presents a checkbox, its *value* is a GH workflow string
23+
# 'true' or 'false'. If you simply test github.event.inputs.release_run,
24+
# it always evaluates as true because it's a non-empty string either way.
2125
# When you want to use a string variable as a workflow YAML boolean, it's
2226
# important to ensure it's the empty string when false. If you omit || '',
2327
# its value when false is "false", which is interpreted as true.
@@ -32,30 +36,34 @@ jobs:
3236
3337
if [[ "$FROM_FORK" == "true" ]]; then
3438
# PR from fork; don't build with Bugsplat, proprietary libs
35-
echo 'configurations=["ReleaseOS"]' >> $GITHUB_OUTPUT
39+
echo 'config=ReleaseOS' >> $GITHUB_OUTPUT
3640
echo "bugsplat_db=" >> $GITHUB_OUTPUT
3741
else
38-
echo 'configurations=["Release"]' >> $GITHUB_OUTPUT
42+
echo 'config=Release' >> $GITHUB_OUTPUT
3943
echo "bugsplat_db=SecondLife_Viewer_2018" >> $GITHUB_OUTPUT
4044
fi
4145
build:
4246
needs: setup
47+
continue-on-error: ${{ matrix.experimental }}
4348
strategy:
4449
matrix:
45-
runner: [windows-large, macos-12-xl]
46-
configuration: ${{ fromJSON(needs.setup.outputs.configurations) }}
50+
runner: [windows-large, macos-15-xlarge]
51+
experimental: [false]
52+
include:
53+
- runner: linux-large
54+
experimental: true
4755
runs-on: ${{ matrix.runner }}
4856
outputs:
4957
viewer_channel: ${{ steps.build.outputs.viewer_channel }}
5058
viewer_version: ${{ steps.build.outputs.viewer_version }}
5159
viewer_branch: ${{ steps.which-branch.outputs.branch }}
5260
relnotes: ${{ steps.which-branch.outputs.relnotes }}
5361
imagename: ${{ steps.build.outputs.imagename }}
54-
configuration: ${{ matrix.configuration }}
62+
config: ${{ needs.setup.outputs.config }}
5563
env:
5664
AUTOBUILD_ADDRSIZE: 64
5765
AUTOBUILD_BUILD_ID: ${{ github.run_id }}
58-
AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
66+
AUTOBUILD_CONFIGURATION: ${{ needs.setup.outputs.config }}
5967
# authorizes fetching private constituent packages
6068
AUTOBUILD_GITHUB_TOKEN: ${{ secrets.SHARED_AUTOBUILD_GITHUB_TOKEN }}
6169
AUTOBUILD_INSTALLABLE_CACHE: ${{ github.workspace }}/.autobuild-installables
@@ -64,7 +72,7 @@ jobs:
6472
# autobuild-package.xml.
6573
AUTOBUILD_VCS_INFO: "true"
6674
AUTOBUILD_VSVER: "170"
67-
DEVELOPER_DIR: "/Applications/Xcode_14.0.1.app/Contents/Developer"
75+
DEVELOPER_DIR: "/Applications/Xcode_16.1.app/Contents/Developer"
6876
# Ensure that Linden viewer builds engage Bugsplat.
6977
BUGSPLAT_DB: ${{ needs.setup.outputs.bugsplat_db }}
7078
build_coverity: false
@@ -82,7 +90,7 @@ jobs:
8290
master_message_template_checkout: ${{ github.workspace }}/.master-message-template
8391
# Only set variants to the one configuration: don't let build.sh loop
8492
# over variants, let GitHub distribute variants over multiple hosts.
85-
variants: ${{ matrix.configuration }}
93+
variants: ${{ needs.setup.outputs.config }}
8694
steps:
8795
- name: Checkout code
8896
uses: actions/checkout@v4
@@ -115,11 +123,29 @@ jobs:
115123
uses: actions/cache@v4
116124
with:
117125
path: .autobuild-installables
118-
key: ${{ runner.os }}-64-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }}
126+
key: ${{ runner.os }}-64-${{ needs.setup.outputs.config }}-${{ hashFiles('autobuild.xml') }}
119127
restore-keys: |
120-
${{ runner.os }}-64-${{ matrix.configuration }}-
128+
${{ runner.os }}-64-${{ needs.setup.outputs.config }}-
121129
${{ runner.os }}-64-
122130
131+
- name: Install Linux dependencies
132+
if: runner.os == 'Linux'
133+
run: |
134+
sudo apt update
135+
sudo apt install -y \
136+
libpulse-dev libunwind-dev \
137+
libgl1-mesa-dev libglu1-mesa-dev libxinerama-dev \
138+
libxcursor-dev libxfixes-dev libgstreamer1.0-dev \
139+
libgstreamer-plugins-base1.0-dev ninja-build libxft-dev \
140+
llvm mold libpipewire-0.3-dev libosmesa6-dev libdbus-1-dev
141+
sudo locale-gen en_US.UTF-8
142+
sudo locale-gen en_GB.UTF-8
143+
sudo locale-gen fr_FR.UTF-8
144+
145+
- name: Install windows dependencies
146+
if: runner.os == 'Windows'
147+
run: choco install nsis-unicode
148+
123149
- name: Determine source branch
124150
id: which-branch
125151
uses: secondlife/viewer-build-util/which-branch@v2
@@ -227,7 +253,7 @@ jobs:
227253
export viewer_channel="Second Life Test"
228254
fi
229255
fi
230-
echo "viewer_channel=$viewer_channel"
256+
echo "::notice::$RUNNER_OS viewer_channel=$viewer_channel"
231257
echo "viewer_channel=$viewer_channel" >> "$GITHUB_OUTPUT"
232258
# On windows we need to point the build to the correct python
233259
# as neither CMake's FindPython nor our custom Python.cmake module
@@ -269,6 +295,7 @@ jobs:
269295
path: |
270296
${{ steps.build.outputs.viewer_app }}
271297
298+
272299
# The other upload of nontrivial size is the symbol file. Use a distinct
273300
# artifact for that too.
274301
- name: Upload symbol file
@@ -289,7 +316,7 @@ jobs:
289316
- name: Upload physics package
290317
uses: actions/upload-artifact@v4
291318
# should only be set for viewer-private
292-
if: matrix.configuration == 'Release' && steps.build.outputs.physicstpv
319+
if: needs.setup.outputs.config == 'Release' && steps.build.outputs.physicstpv
293320
with:
294321
name: "${{ steps.build.outputs.artifact }}-physics"
295322
# emitted by build.sh, zero or one lines
@@ -363,7 +390,7 @@ jobs:
363390
BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
364391
BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
365392
needs: build
366-
if: needs.build.outputs.configuration == 'Release'
393+
if: needs.build.outputs.config == 'Release'
367394
runs-on: ubuntu-latest
368395
steps:
369396
- name: Download viewer exe
@@ -398,7 +425,7 @@ jobs:
398425
BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
399426
BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
400427
needs: build
401-
if: needs.build.outputs.configuration == 'Release'
428+
if: needs.build.outputs.config == 'Release'
402429
runs-on: ubuntu-latest
403430
steps:
404431
- name: Download Mac Symbols
@@ -431,12 +458,18 @@ jobs:
431458
with:
432459
pattern: "*-metadata"
433460

461+
- uses: actions/download-artifact@v4
462+
with:
463+
pattern: "Linux-app"
464+
434465
- name: Rename metadata
435466
run: |
436467
cp Windows-metadata/autobuild-package.xml Windows-autobuild-package.xml
437468
cp Windows-metadata/newview/viewer_version.txt Windows-viewer_version.txt
438469
cp macOS-metadata/autobuild-package.xml macOS-autobuild-package.xml
439470
cp macOS-metadata/newview/viewer_version.txt macOS-viewer_version.txt
471+
cp Linux-metadata/autobuild-package.xml Linux-autobuild-package.xml
472+
cp Linux-metadata/newview/viewer_version.txt Linux-viewer_version.txt
440473
441474
# forked from softprops/action-gh-release
442475
- name: Create GitHub release
@@ -451,7 +484,7 @@ jobs:
451484
Build ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
452485
${{ needs.build.outputs.viewer_channel }}
453486
${{ needs.build.outputs.viewer_version }}
454-
${{ needs.build.outputs.relnotes }}
487+
${{ needs.setvar.outputs.relnotes }}
455488
prerelease: true
456489
generate_release_notes: true
457490
target_commitish: ${{ github.sha }}
@@ -461,6 +494,7 @@ jobs:
461494
files: |
462495
macOS-installer/*.dmg
463496
Windows-installer/*.exe
497+
Linux-app/*.tar.xz
464498
*-autobuild-package.xml
465499
*-viewer_version.txt
466500

.github/workflows/cla.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
steps:
1414
- name: CLA Assistant
1515
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
16-
uses: secondlife-3p/contributor-assistant@v2
16+
uses: secondlife-3p/contributor-assistant@v2.6.1
1717
env:
1818
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1919
PERSONAL_ACCESS_TOKEN: ${{ secrets.SHARED_CLA_TOKEN }}

.github/workflows/tag-release.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ jobs:
3737
- name: Update Tag
3838
uses: actions/[email protected]
3939
with:
40-
github-token: ${{ secrets.GITHUB_TOKEN }}
40+
# use a real access token instead of GITHUB_TOKEN default.
41+
# required so that the results of this tag creation can trigger the build workflow
42+
# https://stackoverflow.com/a/71372524
43+
# https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
44+
# this token will need to be renewed anually in January
45+
github-token: ${{ secrets.LL_TAG_RELEASE_TOKEN }}
4146
script: |
4247
github.rest.git.createRef({
4348
owner: context.repo.owner,

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ debian/files
2626
debian/secondlife-appearance-utility*
2727
debian/secondlife-viewer*
2828
indra/.distcc
29-
indra/cmake/*
3029
indra/out/*
3130

3231
indra/packages/*

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ repos:
1212
- id: indent-with-spaces
1313
files: \.(cpp|c|h|inl|py|glsl|cmake)$
1414
- repo: https://github.com/pre-commit/pre-commit-hooks
15-
rev: v4.4.0
15+
rev: v5.0.0
1616
hooks:
1717
- id: check-xml
1818
- id: mixed-line-ending

0 commit comments

Comments
 (0)