diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml
index 8adec3ef10..282225e71d 100644
--- a/.github/workflows/build_viewer.yml
+++ b/.github/workflows/build_viewer.yml
@@ -10,19 +10,20 @@ env:
AUTOBUILD_VARIABLES_FILE: ${{github.workspace}}/build-variables/variables
EXTRA_ARGS: -DUSE_FMODSTUDIO=ON -DUSE_KDU=ON --crashreporting
build_secrets_checkout: ${{github.workspace}}/signing
+ XZ_DEFAULTS: -T0
jobs:
build_matrix:
strategy:
matrix:
- os: [macos-10.15,ubuntu-20.04,windows-2022]
+ os: [macos-11,ubuntu-20.04,windows-2022]
grid: [sl,os]
addrsize: [64,32]
exclude:
- os: ubuntu-20.04
addrsize: 32
- - os: macos-10.15
+ - os: macos-11
addrsize: 32
runs-on: ${{ matrix.os }}
steps:
@@ -196,6 +197,12 @@ jobs:
fi
done
shell: bash
+
+ - name: make Nightly builds expire after 14 days
+ if: env.FS_BUILD_TYPE == 'Nightly'
+ run: |
+ echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}} --testbuild=14" >> $GITHUB_ENV
+
- name: Clean up packages to give more space
run: rm *${{ env.fallback_platform }}*bz2
shell: bash
@@ -246,18 +253,22 @@ jobs:
- name: Install discord-webhook library
run: pip install discord-webhook
- - name: find channel from Branch name
+ - name: find channel and webhook from Branch name
run: |
if [[ "${{ github.ref_name }}" == *Release* ]]; then
FS_RELEASE_FOLDER=release
- else
- if [[ "${{github.event_name}}" == 'schedule' ]]; then
- FS_RELEASE_FOLDER=nightly
+ FS_BUILD_WEBHOOK_URL=${{ secrets.RELEASE_WEBHOOK_URL }}
else
- FS_RELEASE_FOLDER=preview
+ if [[ "${{github.event_name}}" == 'schedule' ]]; then
+ FS_RELEASE_FOLDER=nightly
+ FS_BUILD_WEBHOOK_URL=${{ secrets.NIGHTLY_WEBHOOK_URL }}
+ else
+ FS_RELEASE_FOLDER=preview
+ FS_BUILD_WEBHOOK_URL=${{ secrets.BETA_WEBHOOK_URL }}
fi
fi
echo "FS_RELEASE_FOLDER=${FS_RELEASE_FOLDER}" >> $GITHUB_ENV
+ echo "FS_BUILD_WEBHOOK_URL=${FS_BUILD_WEBHOOK_URL}" >> $GITHUB_ENV
- name: Download artifacts
uses: actions/download-artifact@v3
@@ -269,7 +280,7 @@ jobs:
working-directory: ${{steps.download.outputs.download-path}}
- name: Reorganise artifacts ready for server upload.
- run: python ./fsutils/download_list.py -u ${{steps.download.outputs.download-path}} -w ${{ secrets.RELEASE_WEBHOOK_URL }}
+ run: python ./fsutils/download_list.py -u ${{steps.download.outputs.download-path}} -w ${{ env.FS_BUILD_WEBHOOK_URL }}
- name: Setup rclone and download the folder
uses: beqjanus/setup-rclone@main
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 970cdfac5d..6d3f068936 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -239,6 +239,7 @@ Ansariel Hiller
SL-15227
SL-15398
SL-18432
+ SL-4126
Aralara Rajal
Arare Chantilly
CHUIBUG-191
@@ -289,6 +290,7 @@ Beq Janus
SL-18592
SL-18637
SL-19317
+ SL-19660
Beth Walcher
Bezilon Kasei
Biancaluce Robbiani
diff --git a/fsutils/download_list.py b/fsutils/download_list.py
index b8534efeff..2dc8cfd08d 100644
--- a/fsutils/download_list.py
+++ b/fsutils/download_list.py
@@ -80,7 +80,8 @@ def get_md5(mdfile):
#split md5sum on space
md5sum = md5sum.split()[0]
#remove leading '\'
- md5sum = md5sum[1:]
+ if md5sum[0] == "\\":
+ md5sum = md5sum[1:]
print(f"generating md5sum for {mdfile} as {md5sum}")
return md5sum
@@ -210,7 +211,11 @@ for build_type in build_types_created:
platforms_printable = {"windows":"MS Windows", "mac":"MacOS", "linux":"Linux"}
grids_printable = {"SL":"Second Life", "OS":"OpenSim"}
- download_root = f"https://downloads.firestormviewer.org/{build_types[build_type]}/"
+ download_root = f"https://downloads.firestormviewer.org/{build_types[build_type]}"
+ output += f'''
+DOWNLOADS - {build_type}
+-------------------------------------------------------------------------------------------------------
+'''
for dir in dirs:
print(f"Getting files for {dir} in {build_type_dir}")
files = get_files(os.path.join(build_type_dir, dir))
@@ -236,11 +241,8 @@ for build_type in build_types_created:
print(f"No files found for {dir} in {build_type_dir}")
- output += f'''
-DOWNLOADS - {build_type}
-'''
- output += f'''-------------------------------------------------------------------------------------------------------
+ output += f'''
{platforms_printable[dir]}
'''
dir = dir.lower()
@@ -266,8 +268,7 @@ DOWNLOADS - {build_type}
except KeyError:
output += f"{platform} for {grid_printable} ({wordsize}-bit) - NOT AVAILABLE\n"
output += "\n"
- output += '''
--------------------------------------------------------------------------------------------------------
+ output += '''-------------------------------------------------------------------------------------------------------
'''
if args.webhook:
@@ -276,6 +277,7 @@ DOWNLOADS - {build_type}
# Send the webhook
response = webhook.execute()
# Print the response
- print(f"Webhook response: {response}")
+ if not response.ok:
+ print(f"Webhook Error {response.status_code}: {response.text}")
print(output)
diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp
index a645e624f8..590915e9d2 100644
--- a/indra/llcommon/llsd.cpp
+++ b/indra/llcommon/llsd.cpp
@@ -622,7 +622,7 @@ namespace
if (index >= mData.size())
{
- mData.resize(i + 1);
+ mData.resize(index + 1);
}
return mData[index];
diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h
index 4e9fcc77ee..cdb9a7ed8a 100644
--- a/indra/llcommon/llsd.h
+++ b/indra/llcommon/llsd.h
@@ -30,7 +30,6 @@
#include
+ NvAPICreateApplicationProfile
+
PurgeCacheOnNextStartup