summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2023-09-08 17:01:46 -0400
committerNat Goodspeed <nat@lindenlab.com>2023-09-08 17:01:46 -0400
commit2d04cc14d3805df982d51d96d2e3d180f5ef0b34 (patch)
tree8fedb898318957b342ef01039510df671d99a52a
parentc87d9c635b71d761e0ef84c1a9442759db721487 (diff)
SL-19242: Post -app artifact, not -exe, with entire install image.
Previously we posted Windows-exe, macOS-exe artifacts that were a little inconsistent: Windows-exe contained just the Windows executable, whereas macOS-exe contained the whole .app tree (but without the .app directory). Change to post Windows-app, macOS-app artifacts that each contain the whole viewer install image, including the top-level application name directory. This is what we'll need to codesign and notarize.
-rw-r--r--.github/workflows/build.yaml11
-rwxr-xr-xindra/newview/viewer_manifest.py12
2 files changed, 16 insertions, 7 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 7e3d2b68de..8146db36ee 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -223,11 +223,16 @@ jobs:
${{ steps.build.outputs.installer }}
- name: Upload executable
- if: matrix.configuration != 'ReleaseOS' && steps.build.outputs.viewer_exe
+ if: matrix.configuration != 'ReleaseOS' && steps.build.outputs.viewer_app
uses: actions/upload-artifact@v3
with:
- name: "${{ steps.build.outputs.artifact }}-exe"
- path: ${{ steps.build.outputs.viewer_exe }}
+ name: "${{ steps.build.outputs.artifact }}-app"
+ # The directory specified as viewer_app contains the directory
+ # containing the application image. Strip out any other build
+ # detritus from the artifact.
+ path: |
+ ${{ steps.build.outputs.viewer_app }}
+ "!${{ steps.build.outputs.viewer_app }}/*.bat"
# The other upload of nontrivial size is the symbol file. Use a distinct
# artifact for that too.
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index f6282743bb..679a3441b9 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -489,8 +489,11 @@ class WindowsManifest(ViewerManifest):
if self.is_packaging_viewer():
# Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
- # emit that as one of the GitHub step outputs
- self.set_github_output_path('viewer_exe', self.final_exe())
+ # Emit the whole app image as one of the GitHub step outputs. The
+ # current get_dst_prefix() is the top-level contents of the app
+ # directory -- so hop outward to the directory containing the app
+ # name.
+ self.set_github_output_path('viewer_app', os.pardir)
with self.prefix(src=os.path.join(pkgdir, "VMP")):
# include the compiled launcher scripts so that it gets included in the file_list
@@ -853,8 +856,9 @@ class DarwinManifest(ViewerManifest):
def construct(self):
# copy over the build result (this is a no-op if run within the xcode script)
self.path(os.path.join(self.args['configuration'], self.channel()+".app"), dst="")
- # capture the entire destination app bundle
- self.set_github_output_path('viewer_exe', '')
+ # capture the entire destination app bundle, including the containing
+ # .app directory
+ self.set_github_output_path('viewer_app', os.pardir)
pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')
relpkgdir = os.path.join(pkgdir, "lib", "release")