Commit Graph

115 Commits (d07cd115e3bdef8a2b1d2f6a5a507ddb67ff8cd9)

Author SHA1 Message Date
Signal Linden 5416d94d07
Merge branch 'DRTVWR-587-maint-V' into signal/simple-release 2023-11-21 08:07:20 -08:00
Bennett Goble c0ab8b8f0c Switch to viewer-build-util@v1
Switch the build workflow from targeting the `main` branch of
viewer-build-util (which may receive breaking changes) to the stable
`v1` major version tag.
2023-11-20 16:23:05 -08:00
Bennett Goble 9b50c50bf2 Only download release artifacts for release
Only download and publish installers on public releases. This simplifies
the release process, as the flatten_files utility from
viewer-build-utils is not necessary this way. More importantly, it
doesn't clutter public releases with files that shouldn't be published
such as debug symbols.
2023-11-20 08:13:59 -08:00
Nat Goodspeed e4d6a08941 SL-18837: Build all branches on GitHub now. 2023-10-25 14:39:31 -04:00
Nat Goodspeed 2e8e96cfbc PIE-1057: viewer-build-util's azure branch has been merged to main. 2023-10-18 17:44:07 -04:00
Nat Goodspeed f6d872a027 PIE-1057: Pass sign-pkg-windows@azure the Azure-related secrets. 2023-10-13 15:11:30 -04:00
Nat Goodspeed 549e56572b PIE-1057: Engage viewer-build-util azure branch. 2023-10-12 17:25:30 -04:00
Nat Goodspeed 7648978397 SL-18837: Name the release for the build number to readily find it. 2023-10-05 15:25:54 -04:00
Nat Goodspeed 1684d62499 SL-19242: Remove signing and packaging from viewer_manifest.py
for Mac and Windows. That's now done by subsequent jobs in the GitHub build.
Remove workflow step to upload installers before signing and packaging jobs.

Remove from viewer_manifest.py conditionals for 32-bit Windows or Mac.

Also bump to actions/checkout@v4, per dependabot.
2023-10-03 19:02:40 -04:00
Nat Goodspeed e2ea42cb6a SL-19242: Expect and pass Apple "Team ID" rather than "ASC Provider".
"ASC Provider" was a credential accepted by altool, but switching from altool
to notarytool requires a Team ID instead.

Expect to find TEAM_ID in our repository secret NOTARIZE_CREDS_MACOS. Extract
it and pass it to sign-pkg-mac.
2023-10-02 16:52:11 -04:00
Brad Linden d2d3599080 Attempt to fix SL-19242 notarize creds secrets loading 2023-09-25 14:02:26 -07:00
Nat Goodspeed 50e3d4020d SL-19242: Reference the actual stored GitHub repo secrets.
Add a Mac signing step to unpack the credentials bundled into
NOTARIZE_CREDS_MACOS so viewer-build-util/sign-pkg-mac need not know about
that peculiarity of our secrets formatting.
2023-09-25 11:19:38 -04:00
Nat Goodspeed e8dfbbaf88 SL-19242: Pass channel and imagename to sign-pkg-mac/action.yaml.
The viewer_manifest.py logic to determine the name of the viewer installer
.dmg is a little convoluted. Make it tell viewer-build-util/sign-pkg-mac that
name, rather than passing it all the relevant inputs and composing it
redundantly.

sign-pkg-mac also wants the viewer channel to determine the application name.
2023-09-20 11:34:56 -04:00
Nat Goodspeed 763fcb02b8 SL-19242: Move comments out of YAML parameter text. 2023-09-19 09:15:30 -04:00
Nat Goodspeed bd8ecbb389 SL-19242: Typo in changing from inline to reusable action. 2023-09-18 22:43:16 -04:00
Nat Goodspeed 1184c383e2 SL-19242: release job now depends on package jobs
and uses new viewer-build-util/release-artifacts action.
2023-09-18 22:39:43 -04:00
Nat Goodspeed 7c351379fc SL-19242: Retrieve and decode Windows signing cert, pass to action. 2023-09-15 15:17:40 -04:00
Nat Goodspeed b02249546e SL-19243: Directly reference action subdirs in viewer-build-util
instead of trying to checkout viewer-build-util (which doesn't work) and then
reference action subdirs from the filesystem.

Also engage (initial placeholder) actions to sign and package the
platform-specific application artifacts.
2023-09-12 16:28:09 -04:00
Nat Goodspeed 3e86f26b40 SL-19243: Try to convince GitHub that ./.util is really a path. 2023-09-12 13:55:08 -04:00
Nat Goodspeed d795b49f16 SL-19243: Job step 'uses' must specify action.yaml file
instead of having it implied by specifying the containing directory.
2023-09-12 12:50:13 -04:00
Nat Goodspeed 0992a0af3b SL-19243: Use consolidated viewer-build-util
instead of distinct viewer-post-bugsplat-{windows,mac} repos.
2023-09-12 12:46:28 -04:00
Nat Goodspeed 29300a1fd3 SL-19242: Try harder to post artifacts containing exactly app image.
In a Windows build tree, we don't actually have an app-named top directory, so
don't package its containing directory -- just the app dir itself, e.g.
"newview/Release".

In a Mac build tree, though we do have "Second Life Mumble.app", its parent
directory also contains other large stuff. Try posting a temp directory
containing a symlink to the .app.

Ditch the "!*.bat" exclusion: the presence of a second path (even an
exclusion) changes how upload-artifact nests its contents.
2023-09-11 10:07:51 -04:00
Nat Goodspeed 63d5d38e36 SL-18837: Stop failing build.sh if there's no installer.
This unblocks ReleaseOS builds, and also preps for SL-19242.

Streamline build.sh's Uploads section.
2023-09-08 17:24:04 -04:00
Nat Goodspeed 2d04cc14d3 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.
2023-09-08 17:01:46 -04:00
Nat Goodspeed c87d9c635b SL-18837: Suppress ReleaseOS for now. 2023-09-08 14:30:05 -04:00
Nat Goodspeed 77227cf5c4 SL-18837: Suppress BUGSPLAT_DB for ReleaseOS builds. 2023-09-07 14:09:54 -04:00
Nat Goodspeed bac73831c0 SL-18837: String literals are single-quoted in GitHub expressions. 2023-09-07 11:48:15 -04:00
Nat Goodspeed 949909013e SL-18837: Segregate ReleaseOS artifacts; don't even upload.
Eliminate references to (no longer set) matrix.addrsize.
2023-09-07 11:38:00 -04:00
Nat Goodspeed b8e6777439 SL-18837: Merge branch 'main' into actions 2023-09-07 11:15:56 -04:00
Nat Goodspeed 755f9d9ac9 SL-19243: Specify macos-latest for post-mac-symbols.
We want to run on a GitHub-hosted runner rather than one of our own.
2023-09-06 17:03:22 -04:00
Nat Goodspeed 7cedb1eb20 SL-19243: Add post-mac-symbols job using viewer-post-bugsplat-mac.
The initial viewer-post-bugsplat-mac is just a placeholder so far, but we can
flesh it out while the viewer builds necessitated by this change are running,
and then we can iterate on viewer-post-bugsplat-mac without having to rebuild
the viewer.
2023-09-01 10:53:02 -04:00
Nat Goodspeed 2ee8cb0e16 SL-19243: Job to post windows symbols must run on Windows. 2023-09-01 07:46:32 -04:00
Nat Goodspeed 3147b55cec SL-19243: Fix wonky 'if:' in build.yaml 2023-08-31 17:28:25 -04:00
Nat Goodspeed 348d710707 SL-19243: Fix 'uses:' reference to viewer-post-bugsplat-windows 2023-08-31 16:09:12 -04:00
Nat Goodspeed 58e8c3567f SL-19243: Fix build.yaml syntax error. 2023-08-31 16:06:13 -04:00
Nat Goodspeed e8cd5205e8 SL-19243: Try to run Windows BugSplat uploads as a separate GH job.
Upload a new Windows-exe artifact containing just the executable (needed by
BugSplat) separately from the artifact containing the whole NSIS installer.
This requires a new viewer_exe step output set by viewer_manifest.py.

Define viewer_channel and viewer_version as build job outputs.

Set viewer_channel in build.yaml when tag is interpreted.

Set viewer_version in build.sh at the point when it would have posted
viewer_version.txt to codeticket.

Add a post-windows-symbols job dependent on the build job that engages
secondlife/viewer-post-bugsplat-windows, which in turn engages
secondlife/post-bugsplat-windows. We keep the actual upload code in a separate
repo in case we need to modify that code before rerunning to resolve upload
errors. If we kept the upload code in the viewer repo itself, rerunning the
upload with modifications would necessarily require rerunning the viewer
build, which would defeat the purpose of SL-19243.

Because of that new upload job in build.yaml, skip Windows symbol uploads
in build.sh.

Use a simple (platform name) artifact name for metadata because of
flatten_files.py's filename collision resolution.

Use hyphens, not spaces, in remaining artifact names: apparently
download-artifact doesn't much like artifacts with spaces in their names.

Only run the release job when in fact there's a tag. Without that, we get
errors. We need not create flatten_files.py's output directory beforehand
because it will do that implicitly.
2023-08-31 15:53:56 -04:00
Nat Goodspeed b06aa53f59 SL-18837: Only list the downloaded artifacts. 2023-08-29 20:03:21 -04:00
Nat Goodspeed 7779cebdcd SL-18837: Introduce flatten_files.py and use to post release assets 2023-08-29 17:55:53 -04:00
Nat Goodspeed 929aa15c80 SL-18837: Experiment with download-artifact downloading all files. 2023-08-28 13:21:16 -04:00
Nat Goodspeed 70e4c73baa SL-18837: Engage initial GH viewer release script. 2023-08-18 11:28:15 -04:00
Nat Goodspeed 73a857ba31 SL-18837: Use 'needs' context, not 'jobs' context
in release job to reference outputs from the build job.

Also mark the release as prerelease, and fail the release action if we still
can't find the files we're trying to post.
2023-07-22 08:32:21 -04:00
Nat Goodspeed f9a30e7ed1 SL-18837: Try posting build.yaml step outputs as job outputs. 2023-07-22 08:18:13 -04:00
Nat Goodspeed 6605403661 SL-18837: Tags can't have spaces or colons. Look for valid ones. 2023-07-21 15:24:11 -04:00
Nat Goodspeed 7cca3506b6 SL-18837: Try triggering GH release for tag like "Second Life "... 2023-07-21 14:02:00 -04:00
Nat Goodspeed 0d4228b55a SL-18837: Use secondlife -3p/action-gh-release
instead of the original softprops/action-gh-release repo, because organization
rules forbid directly using the softprops repo.
2023-07-18 15:38:44 -04:00
Nat Goodspeed 2b97587a14 SL-18837: Try to post installer and metadata for GH viewer release. 2023-07-18 15:25:09 -04:00
Nat Goodspeed dcb1403661 SL-18837: Re-delete redundant matrix.include python-version.
This clarifies that the matrix.include entry is intended to supplement an
existing runner configuration, rather than adding a new configuration for the
same runner.
2023-07-18 11:41:32 -04:00
Nat Goodspeed a4882870f8 SL-18837: Merge branch 'actions' into actions-build-sh 2023-07-18 11:37:55 -04:00
Nat Goodspeed 6fd46b85f5 SL-18837: Detect msys bash as well as cygwin for native_path et al. 2023-07-18 10:54:12 -04:00
Nat Goodspeed 479fa3e196 SL-18837: Conditionally upload llphysicsextensions-tpv package
but only when building viewer-private.

Also re-fix SL-19942 workaround by deleting AUTOBUILD_CONFIGURATION before
trying to build llphysicsextensions-tpv.
2023-07-18 09:56:11 -04:00