Skip to content
Snippets Groups Projects
Commit 6112e92b authored by Signal Linden's avatar Signal Linden
Browse files

Upload installer, build Release, use large runner

parent 8d7cde22
No related branches found
No related tags found
No related merge requests found
...@@ -10,14 +10,14 @@ jobs: ...@@ -10,14 +10,14 @@ jobs:
build: build:
strategy: strategy:
matrix: matrix:
os: [windows-2022, macos-11] runner: [windows_2022_public]
configuration: [RelWithDebInfoOS] configuration: [ReleaseOS]
addrsize: [64] addrsize: [64]
include: include:
- os: windows-2022 - runner: windows_2022_public
configuration: RelWithDebInfoOS configuration: ReleaseOS
addrsize: 32 addrsize: 32
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.runner }}
env: env:
AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }} AUTOBUILD_CONFIGURATION: ${{ matrix.configuration }}
AUTOBUILD_ADDRSIZE: ${{ matrix.addrsize }} AUTOBUILD_ADDRSIZE: ${{ matrix.addrsize }}
...@@ -45,9 +45,26 @@ jobs: ...@@ -45,9 +45,26 @@ jobs:
path: .autobuild-installables path: .autobuild-installables
key: ${{ matrix.os }}-${{ matrix.addrsize }}-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }} 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 - name: Build
id: build
shell: bash shell: bash
run: | run: |
pip install llsd # Required by viewer tests pip install llsd # Required by viewer tests
autobuild configure autobuild configure
autobuild build --no-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 }}
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Compiler flags ;; Compiler flags
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Unicode true
SetOverwrite on # Overwrite files SetOverwrite on # Overwrite files
SetCompress auto # Compress if saves space SetCompress auto # Compress if saves space
SetCompressor /solid lzma # Compress whole installer as one block SetCompressor /solid lzma # Compress whole installer as one block
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
""" """
import errno import errno
import glob import glob
import itertools
import json import json
import os import os
import os.path import os.path
...@@ -36,12 +35,9 @@ ...@@ -36,12 +35,9 @@
import random import random
import re import re
import shutil import shutil
import stat
import subprocess import subprocess
import sys import sys
import tarfile
import time import time
import zipfile
viewer_dir = os.path.dirname(__file__) viewer_dir = os.path.dirname(__file__)
# Add indra/lib/python to our path so we don't have to muck with PYTHONPATH. # Add indra/lib/python to our path so we don't have to muck with PYTHONPATH.
...@@ -789,27 +785,15 @@ def package_finish(self): ...@@ -789,27 +785,15 @@ def package_finish(self):
# Check two paths, one for Program Files, and one for Program Files (x86). # Check two paths, one for Program Files, and one for Program Files (x86).
# Yay 64bit windows. # Yay 64bit windows.
for ProgramFiles in 'ProgramFiles', 'ProgramFiles(x86)': nsis_path = "makensis.exe"
NSIS_path = os.path.expandvars(r'${%s}\NSIS\makensis.exe' % ProgramFiles) for program_files in '${programfiles}', '${programfiles(x86)}':
if os.path.exists(NSIS_path): for nesis_path in 'NSIS', 'NSIS\\Unicode':
break possible_path = os.path.expandvars(f"{program_files}\\{nesis_path}\\makensis.exe")
installer_created=False if os.path.exists(possible_path):
nsis_attempts=3 nsis_path = possible_path
nsis_retry_wait=15 break
for attempt in range(nsis_attempts):
try: self.run_command([possible_path, '/V2', self.dst_path_of(tempfile)])
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
self.sign(installer_file) self.sign(installer_file)
self.created_path(self.dst_path_of(installer_file)) self.created_path(self.dst_path_of(installer_file))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment