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.
master
Nat Goodspeed 2023-09-08 17:01:46 -04:00
parent c87d9c635b
commit 2d04cc14d3
2 changed files with 16 additions and 7 deletions

View File

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

View File

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