summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yaml27
-rw-r--r--indra/newview/installers/windows/installer_template.nsi1
-rwxr-xr-xindra/newview/viewer_manifest.py34
3 files changed, 31 insertions, 31 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 91788c4076..d6916a4808 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -10,14 +10,14 @@ jobs:
build:
strategy:
matrix:
- os: [windows-2022, macos-11]
- configuration: [RelWithDebInfoOS]
+ runner: [windows_2022_public]
+ configuration: [ReleaseOS]
addrsize: [64]
include:
- - os: windows-2022
- configuration: RelWithDebInfoOS
+ - runner: windows_2022_public
+ configuration: ReleaseOS
addrsize: 32
- runs-on: ${{ matrix.os }}
+ runs-on: ${{ matrix.runner }}
env:
AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
AUTOBUILD_ADDRSIZE: ${{ matrix.addrsize }}
@@ -45,9 +45,26 @@ jobs:
path: .autobuild-installables
key: ${{ matrix.os }}-${{ matrix.addrsize }}-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }}
+ - name: Install windows dependencies
+ if: runner.os == 'Windows'
+ run: choco install nsis-unicode
+
- name: Build
+ id: build
shell: bash
run: |
pip install llsd # Required by viewer tests
autobuild configure
autobuild build --no-configure
+
+ installer_path=$(find ./build-*/newview/ | grep '_Setup\.exe')
+ installer_name="$(basename $installer_path)"
+ echo "::set-output name=installer_path::$installer_path"
+ echo "::set-output name=installer_name::$installer_name"
+
+ - name: Upload installer
+ if: runner.os == 'Windows'
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ steps.build.outputs.installer_name }}
+ path: ${{ steps.build.outputs.installer_path }}
diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi
index 7513908cb4..f7908b059c 100644
--- a/indra/newview/installers/windows/installer_template.nsi
+++ b/indra/newview/installers/windows/installer_template.nsi
@@ -26,7 +26,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Compiler flags
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-Unicode true
SetOverwrite on # Overwrite files
SetCompress auto # Compress if saves space
SetCompressor /solid lzma # Compress whole installer as one block
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 30b0d23a93..eec8e84a2d 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -28,7 +28,6 @@ $/LicenseInfo$
"""
import errno
import glob
-import itertools
import json
import os
import os.path
@@ -36,12 +35,9 @@ import plistlib
import random
import re
import shutil
-import stat
import subprocess
import sys
-import tarfile
import time
-import zipfile
viewer_dir = os.path.dirname(__file__)
# Add indra/lib/python to our path so we don't have to muck with PYTHONPATH.
@@ -789,27 +785,15 @@ class WindowsManifest(ViewerManifest):
# Check two paths, one for Program Files, and one for Program Files (x86).
# Yay 64bit windows.
- for ProgramFiles in 'ProgramFiles', 'ProgramFiles(x86)':
- NSIS_path = os.path.expandvars(r'${%s}\NSIS\makensis.exe' % ProgramFiles)
- if os.path.exists(NSIS_path):
- break
- installer_created=False
- nsis_attempts=3
- nsis_retry_wait=15
- for attempt in range(nsis_attempts):
- try:
- self.run_command([NSIS_path, '/V2', self.dst_path_of(tempfile)])
- except ManifestError as err:
- if attempt+1 < nsis_attempts:
- print("nsis failed, waiting %d seconds before retrying" % nsis_retry_wait, file=sys.stderr)
- time.sleep(nsis_retry_wait)
- nsis_retry_wait*=2
- else:
- # NSIS worked! Done!
- break
- else:
- print("Maximum nsis attempts exceeded; giving up", file=sys.stderr)
- raise
+ nsis_path = "makensis.exe"
+ for program_files in '${programfiles}', '${programfiles(x86)}':
+ for nesis_path in 'NSIS', 'NSIS\\Unicode':
+ possible_path = os.path.expandvars(f"{program_files}\\{nesis_path}\\makensis.exe")
+ if os.path.exists(possible_path):
+ nsis_path = possible_path
+ break
+
+ self.run_command([possible_path, '/V2', self.dst_path_of(tempfile)])
self.sign(installer_file)
self.created_path(self.dst_path_of(installer_file))