Commit Graph

134 Commits (5fca8915d8f44cdb2a4f7bb4715d61ba47043e5d)

Author SHA1 Message Date
Nat Goodspeed 9b8800f216 Now that viewer-build-util@relnotes has merged to v1, use @v1. 2024-03-01 16:43:15 -05:00
Nat Goodspeed 00d7fef75e Reference updated action-gh-release@v1
instead of the branch that got pulled.

(cherry picked from commit b42e01d7ac)
2024-03-01 16:19:02 -05:00
Nat Goodspeed 3ee3e011ff Base generated release notes on new floating tag 'release'
instead of on the current tag 7.1.2-release.

(cherry picked from commit 27b298d8bc)
2024-03-01 16:19:01 -05:00
Nat Goodspeed 7ad13c8511 Leverage action-gh-release's new previous_tag input.
This should (!) allow us to generate full release notes relative to the
previous viewer release, instead of letting action-gh-release guess
incorrectly.

Also try again to add to the release page a back-link to the specific build.

(cherry picked from commit 88ebb92f05)
2024-03-01 16:19:01 -05:00
Nat Goodspeed 7c52db381c Try basing release notes on github.sha rather than github.ref_name.
(cherry picked from commit 4edd78f2e5)
2024-03-01 16:19:01 -05:00
Nat Goodspeed d7e6a7dbd0 Try basing the GH release on github.ref_name instead of github.ref.
Using github.ref as action-gh-release's target_commitish produces:

⚠️ GitHub release failed with status: 422
[{"resource":"Release","code":"invalid","field":"target_commitish"}]

(cherry picked from commit c6a6db8488)
2024-03-01 16:19:01 -05:00
Nat Goodspeed 603d3a865a Try to generate release notes for this specific branch.
Also try to cross-reference release page and build page.

(cherry picked from commit a908b4cfa9)
2024-03-01 16:19:01 -05:00
Nat Goodspeed 9f326f5b96 Engage new viewer-build-util/which-branch with relnotes output.
Put whatever release notes we retrieve into the generated release page.

(cherry picked from commit ff543b744e)
2024-03-01 16:19:01 -05:00
Nat Goodspeed a8cd70123b SL-20546: PyGithub was only needed for local which_branch.py.
Now that which_branch.py has moved to viewer-build-util, so has the PyGithub
dependency.

(cherry picked from commit dd0ec112fe)
2024-03-01 16:13:29 -05:00
Nat Goodspeed 8f68199ccd SL-20546: Use branch for autobuild package as well as release page.
which_branch.py has moved to viewer-build-util as a reusable action.

(cherry picked from commit 09f66828ba)
2024-03-01 16:13:29 -05:00
Nat Goodspeed 9b3d4325d9 DRTVWR-601: Use viewer-build-util/which-branch to determine branch.
(cherry picked from commit 2c5066f1fc)
(cherry picked from commit ff1741ceca)
2024-03-01 16:13:29 -05:00
Nat Goodspeed 8590ce0533 DRTVWR-601: Make autobuild set vcs_url, vcs_branch, vcs_revision
in viewer's autobuild-package.xml.

Ensure that AUTOBUILD_VCS_BRANCH is set before the build.

(cherry picked from commit b782ab73e6)
(cherry picked from commit 6e8d4f4846)
2024-03-01 16:13:29 -05:00
Nat Goodspeed cfbef4e4f9 SL-20546: Make dependency on build job explicit, not indirect.
The release job has been dependent on sign-and-package-windows and
sign-and-package-mac, each of which depends on build. But that indirect
dependency doesn't convey access to ${{ needs.build.outputs.xxx }}. Add the
build job to direct dependencies so release can access its outputs.

(cherry picked from commit 819604d2ce)
2024-03-01 16:13:29 -05:00
Nat Goodspeed e4865db0ca SL-20546: Add PyGithub to installed Python packages.
(cherry picked from commit 6654ad14ee)
2024-03-01 16:13:29 -05:00
Nat Goodspeed a13e70aeff SL-20546: Try harder to infer the branch corresponding to build tag.
(cherry picked from commit 59eeaed118)
2024-03-01 16:13:29 -05:00
Nat Goodspeed cac7023996 SL-20546: Append generated release notes body to our explicit body.
For a tag build that generates a release page, try to deduce the git branch to
which the tag we're building corresponds and add that to release notes.

(cherry picked from commit 9e99bb04a3)
2024-03-01 16:13:29 -05:00
Nat Goodspeed e0ae227d0a SL-20546: Add viewer channel and full version to GitHub release page.
(cherry picked from commit f71662225e)
2024-03-01 16:13:28 -05:00
Brad Linden 255bb8504d
Update cla.yaml allowlist to clear spurious errors (#804) 2024-02-14 09:54:46 -08:00
Bennett Goble 27e3fdc957 build.yaml: Build shared branches
We're currently building every single commit pushed to Github. This is
racking up $20k in build charges a month and is generally superfluous.

This changeset alters build triggers so that builds automatically run if
they are committed to a **shared branch**:

- `release/*` - A release stabilization branch
- `project/*` - A project viewer branch
- `main/*` - The default/stable branch

PR commits are also automatically built.

...need to build another commit? Developers can trigger one using a
manual workflow run.
2024-01-31 13:26:14 -08:00
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