Upload installer, build Release, use large runner

master
Signal Linden 2022-10-12 11:49:47 -07:00
parent 8d7cde22c3
commit 6112e92b61
3 changed files with 31 additions and 31 deletions

View File

@ -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 }}

View File

@ -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

View File

@ -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))