diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml
index 08872166db..8adec3ef10 100644
--- a/.github/workflows/build_viewer.yml
+++ b/.github/workflows/build_viewer.yml
@@ -1,8 +1,14 @@
name: Build viewer
-on: push
-env:
+on:
+ push:
+ branches:
+ - "*release"
+ - master
+ schedule:
+ - cron: '00 03 * * *' # Run every day at 3am UTC
+env:
AUTOBUILD_VARIABLES_FILE: ${{github.workspace}}/build-variables/variables
- EXTRA_ARGS: -DFMODSTUDIO=ON -DUSE_KDU=ON --crashreporting
+ EXTRA_ARGS: -DUSE_FMODSTUDIO=ON -DUSE_KDU=ON --crashreporting
build_secrets_checkout: ${{github.workspace}}/signing
@@ -67,15 +73,22 @@ jobs:
- name: find channel from Branch name
run: |
- if [[ "${{ github.ref_name }}" == *"Release"* ]]; then
- FS_RELEASE_CHAN="Release"
+ if [[ "${{ github.ref_name }}" == *Release* ]]; then
+ FS_RELEASE_TYPE=Release
else
- FS_RELEASE_CHAN="Beta"
+ if [[ "${{github.event_name}}" == 'schedule' ]]; then
+ FS_RELEASE_TYPE=Nightly
+ else
+ FS_RELEASE_TYPE=Beta
+ fi
fi
if [[ "${{ matrix.addrsize }}" == "64" ]]; then
- FS_RELEASE_CHAN="${FS_RELEASE_CHAN}x64"
+ FS_RELEASE_CHAN="${FS_RELEASE_TYPE}x64"
+ else
+ FS_RELEASE_CHAN=${FS_RELEASE_TYPE}
fi
- echo "FS_RELEASE_CHAN=\"${FS_RELEASE_CHAN}\"" >> $GITHUB_ENV
+ echo "FS_RELEASE_TYPE=${FS_RELEASE_TYPE}" >> $GITHUB_ENV
+ echo "FS_RELEASE_CHAN=${FS_RELEASE_CHAN}" >> $GITHUB_ENV
echo "Building for channel ${FS_RELEASE_CHAN}"
shell: bash
@@ -187,18 +200,18 @@ jobs:
run: rm *${{ env.fallback_platform }}*bz2
shell: bash
- name: Configure
- run: autobuild configure --debug -c ReleaseFS -A${{matrix.addrsize}} -- --package --chan ${{env.FS_RELEASE_CHAN}} ${{env.EXTRA_ARGS}} ${{env.FS_GRID}}
+ run: autobuild configure -c ReleaseFS -A${{matrix.addrsize}} -- --package --chan ${{env.FS_RELEASE_CHAN}} ${{env.EXTRA_ARGS}} ${{env.FS_GRID}}
shell: bash
- name: build
- run: autobuild build --debug -c ReleaseFS -A${{matrix.addrsize}} --no-configure
+ run: autobuild build -c ReleaseFS -A${{matrix.addrsize}} --no-configure
shell: bash
-
- - name: publish Windows artifacts
+
+ - name: Publish artifacts
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
- name: ${{ matrix.os }}-${{matrix.addrsize}}-${{matrix.grid}}-artifacts.zip
+ name: ${{ env.FS_RELEASE_TYPE }}-${{ matrix.os }}-${{ matrix.addrsize }}-${{ matrix.grid }}-artifacts.zip
path: |
build-*/newview/Release/*Setup.exe
build-*/newview/Release/*.xz
@@ -207,7 +220,7 @@ jobs:
if: runner.os == 'Linux'
uses: actions/upload-artifact@v3
with:
- name: ${{ matrix.os }}-${{matrix.addrsize}}-${{matrix.grid}}-artifacts.zip
+ name: ${{ env.FS_RELEASE_TYPE }}-${{ matrix.os }}-${{matrix.addrsize}}-${{matrix.grid}}-artifacts.zip
path: |
build-linux-*/newview/*.xz
build-linux-*/newview/*.bz2
@@ -216,7 +229,53 @@ jobs:
if: runner.os == 'macOS'
uses: actions/upload-artifact@v3
with:
- name: ${{ matrix.os }}-${{matrix.addrsize}}-${{matrix.grid}}-artifacts.zip
+ name: ${{ env.FS_RELEASE_TYPE }}-${{ matrix.os }}-${{matrix.addrsize}}-${{matrix.grid}}-artifacts.zip
path: |
build-darwin-*/newview/*.dmg
build-darwin-*/newview/*.bz2
+ deploy:
+ runs-on: ubuntu-latest
+ needs: build_matrix
+ if: always()
+ steps:
+ - name: Checkout files
+ uses: Bhacaz/checkout-files@v2
+ with:
+ files: fsutils/download_list.py
+ branch: ${{ github.head_ref || github.ref_name || 'master' }}
+ - name: Install discord-webhook library
+ run: pip install discord-webhook
+
+ - name: find channel 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
+ else
+ FS_RELEASE_FOLDER=preview
+ fi
+ fi
+ echo "FS_RELEASE_FOLDER=${FS_RELEASE_FOLDER}" >> $GITHUB_ENV
+
+ - name: Download artifacts
+ uses: actions/download-artifact@v3
+ id: download
+ with:
+ path: to_deploy
+ - name: List artifacts download
+ run: ls -R
+ 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 }}
+
+ - name: Setup rclone and download the folder
+ uses: beqjanus/setup-rclone@main
+ with:
+ rclone_config: ${{ secrets.RCLONE_CONFIG }}
+
+ - name: Copy files to remote host
+ run: rclone copy ${{steps.download.outputs.download-path}}/${{ env.FS_RELEASE_FOLDER }} fs_deploy:${{ env.FS_RELEASE_FOLDER }}
+
diff --git a/autobuild.xml b/autobuild.xml
index bc0e2aac4e..e6605e6bff 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -3848,6 +3848,10 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
configure
+ RenderClass0MemoryBandwidth
+
+ RenderCPUBasis
+
RenderComplexityColorMin
+ RenderShadowSplits
+
RenderSSAOScale
+ TargetFPS
+
+ AutoTuneFPS
+
+ AutoTuneLock
+
+ KeepAutoTuneLock
+
+ AllowSelfImpostor
+
+ ShowTunedART
+
+ RenderAvatarMaxART
+
+ AutoTuneRenderFarClipMin
+
+ AutoTuneRenderFarClipTarget
+
+ UserTargetReflections
+
+ PerfStatsCaptureEnabled
+
+ AutoTuneImpostorByDistEnabled
+
+ AutoTuneImpostorFarAwayDistance
+
+ TuningFPSStrategy
+
CameraOpacity
- FSTargetFPS
-
- FSAutoTuneFPS
-
FSPerfFloaterSmoothingPeriods
- FSPerfStatsCaptureEnabled
-
- FSAutoTuneImpostorByDistEnabled
-
- FSAutoTuneLock
-
- FSAllowSelfImpostor
-
- FSShowTunedART
-
- FSRenderAvatarMaxART
-
- FSAutoTuneRenderFarClipMin
-
- FSAutoTuneRenderFarClipTarget
-
- FSAutoTuneImpostorFarAwayDistance
-
- FSTuningFPSStrategy
-
- FSUserTargetReflections
-
FSReportRegionRestartToChat
- FSUseCoRoFor360Capture
-
SDL2IMEDefaultVerticalOffset