From ee82cd046f9bedc6a3eac96afc90f4413786669f Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Fri, 8 Sep 2023 19:25:47 -0400
Subject: [PATCH] SL-19242: Resolve '..' in viwer_app path before trying to
 upload.

---
 indra/newview/viewer_manifest.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 679a3441b90..e93a3db6d6d 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -492,8 +492,11 @@ def construct(self):
             # 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)
+            # name. But upload_artifact refuses to deal with '..', so resolve
+            # the path before setting viewer_app.
+            self.set_github_output_path(
+                'viewer_app',
+                os.path.abspath(os.path.join(self.get_dst_prefix(), 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
@@ -858,7 +861,9 @@ def construct(self):
         self.path(os.path.join(self.args['configuration'], self.channel()+".app"), dst="")
         # capture the entire destination app bundle, including the containing
         # .app directory
-        self.set_github_output_path('viewer_app', os.pardir)
+        self.set_github_output_path(
+            'viewer_app',
+            os.path.abspath(os.path.join(self.get_dst_prefix(), os.pardir)))
 
         pkgdir = os.path.join(self.args['build'], os.pardir, 'packages')
         relpkgdir = os.path.join(pkgdir, "lib", "release")
-- 
GitLab