diff options
| author | Signal Linden <signal@lindenlab.com> | 2022-10-12 11:49:47 -0700 | 
|---|---|---|
| committer | Signal Linden <signal@lindenlab.com> | 2022-10-12 11:49:47 -0700 | 
| commit | 6112e92b61c334d3c0656bacdea92690cea1a76b (patch) | |
| tree | 5e312983305596b87f980dbf351d02fa91c875e2 | |
| parent | 8d7cde22c31a59d0503230334b1d68e858364c9a (diff) | |
Upload installer, build Release, use large runner
| -rw-r--r-- | .github/workflows/build.yaml | 27 | ||||
| -rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 1 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 34 | 
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))  | 
