summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
2024-03-26Merge GLTF PBR Maint 2 to main.Nat Goodspeed
2024-03-12Fix github actions dependency deprecationsBrad Linden
2024-03-05To test for presence of secrets, set environment variables.Nat Goodspeed
From https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#using-secrets-in-a-workflow : "Secrets cannot be directly referenced in if: conditionals. Instead, consider setting secrets as job-level environment variables, then referencing the environment variables to conditionally run steps in the job."
2024-03-05Enclose 'if:' expressions in ${{ ... }}.Nat Goodspeed
The previous construct produced: Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.AZURE_KEY_VAULT_URI && ...
2024-03-05Make signing and symbol posting jobs conditional on secrets.Nat Goodspeed
Specifically, when secrets aren't available (e.g. for external PRs), skip the affected steps.
2024-03-04Do not automatically close issues (#929)Signal Linden
Mark issues as stale but do not close them.
2024-03-01Now that viewer-build-util@relnotes has merged to v1, use @v1.Nat Goodspeed
2024-03-01Reference updated action-gh-release@v1Nat Goodspeed
instead of the branch that got pulled. (cherry picked from commit b42e01d7acf5d4c55612c3a7df0e1ff6ee5ed951)
2024-03-01Base generated release notes on new floating tag 'release'Nat Goodspeed
instead of on the current tag 7.1.2-release. (cherry picked from commit 27b298d8bc720ff315c8e74cc5bff9ff9ead0552)
2024-03-01Leverage action-gh-release's new previous_tag input.Nat Goodspeed
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 88ebb92f05dade00cc8fc519cc062a458ecd48f2)
2024-03-01Try basing release notes on github.sha rather than github.ref_name.Nat Goodspeed
(cherry picked from commit 4edd78f2e54b3cd2e0b0a4b9300dfc669231dd98)
2024-03-01Try basing the GH release on github.ref_name instead of github.ref.Nat Goodspeed
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 c6a6db8488a8b3e7ea6534fbf5e2fe2b17864421)
2024-03-01Try to generate release notes for this specific branch.Nat Goodspeed
Also try to cross-reference release page and build page. (cherry picked from commit a908b4cfa98716d4a838fc1e5a6789faa15d16cf)
2024-03-01Engage new viewer-build-util/which-branch with relnotes output.Nat Goodspeed
Put whatever release notes we retrieve into the generated release page. (cherry picked from commit ff543b744ee0b0fd4dd90b46419ae50a570572ab)
2024-03-01SL-20546: PyGithub was only needed for local which_branch.py.Nat Goodspeed
Now that which_branch.py has moved to viewer-build-util, so has the PyGithub dependency. (cherry picked from commit dd0ec112fe5ded8ed5f69b72b3df26343ca12d35)
2024-03-01SL-20546: Use branch for autobuild package as well as release page.Nat Goodspeed
which_branch.py has moved to viewer-build-util as a reusable action. (cherry picked from commit 09f66828ba573515c3766cce32f4746b8189efcf)
2024-03-01DRTVWR-601: Use viewer-build-util/which-branch to determine branch.Nat Goodspeed
(cherry picked from commit 2c5066f1fcc0c9f145698ef3aaec72d27bce7181) (cherry picked from commit ff1741cecae0fac6d94507fa4a6e4662219af707)
2024-03-01DRTVWR-601: Make autobuild set vcs_url, vcs_branch, vcs_revisionNat Goodspeed
in viewer's autobuild-package.xml. Ensure that AUTOBUILD_VCS_BRANCH is set before the build. (cherry picked from commit b782ab73e640e434e4ed67fa8dfc951f09757585) (cherry picked from commit 6e8d4f48466a5bbad2fcc27bc2877a30e575d4ce)
2024-03-01SL-20546: Make dependency on build job explicit, not indirect.Nat Goodspeed
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 819604d2cee6d4527cc436bebfacddf8642635ff)
2024-03-01SL-20546: Add PyGithub to installed Python packages.Nat Goodspeed
(cherry picked from commit 6654ad14eed674e894d2903e0f2ea37c4e806c0f)
2024-03-01SL-20546: Try harder to infer the branch corresponding to build tag.Nat Goodspeed
(cherry picked from commit 59eeaed1187e7592fd83380045916f2d8b9d58e7)
2024-03-01SL-20546: Append generated release notes body to our explicit body.Nat Goodspeed
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 9e99bb04a32f2ecc0f0b99686ce5a7adb356596d)
2024-03-01SL-20546: Add viewer channel and full version to GitHub release page.Nat Goodspeed
(cherry picked from commit f71662225eadf1589f5331e763e02e0bb1b72137)
2024-02-14Update cla.yaml allowlist to clear spurious errors (#804)Brad Linden
2024-01-31build.yaml: Build shared branchesBennett Goble
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.
2023-11-21Merge branch 'DRTVWR-587-maint-V' into signal/simple-releaseSignal Linden
2023-11-20Switch to viewer-build-util@v1Bennett Goble
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-20Only download release artifacts for releaseBennett Goble
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-10-25SL-18837: Build all branches on GitHub now.Nat Goodspeed
2023-10-18PIE-1057: viewer-build-util's azure branch has been merged to main.Nat Goodspeed
2023-10-13PIE-1057: Pass sign-pkg-windows@azure the Azure-related secrets.Nat Goodspeed
2023-10-12PIE-1057: Engage viewer-build-util azure branch.Nat Goodspeed
2023-10-05SL-18837: Name the release for the build number to readily find it.Nat Goodspeed
2023-10-03SL-19242: Remove signing and packaging from viewer_manifest.pyNat Goodspeed
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-02SL-19242: Expect and pass Apple "Team ID" rather than "ASC Provider".Nat Goodspeed
"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-09-25Attempt to fix SL-19242 notarize creds secrets loadingBrad Linden
2023-09-25SL-19242: Reference the actual stored GitHub repo secrets.Nat Goodspeed
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-20SL-19242: Pass channel and imagename to sign-pkg-mac/action.yaml.Nat Goodspeed
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-19SL-19242: Move comments out of YAML parameter text.Nat Goodspeed
2023-09-18SL-19242: Typo in changing from inline to reusable action.Nat Goodspeed
2023-09-18SL-19242: release job now depends on package jobsNat Goodspeed
and uses new viewer-build-util/release-artifacts action.
2023-09-15SL-19242: Retrieve and decode Windows signing cert, pass to action.Nat Goodspeed
2023-09-12SL-19243: Directly reference action subdirs in viewer-build-utilNat Goodspeed
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-12SL-19243: Try to convince GitHub that ./.util is really a path.Nat Goodspeed
2023-09-12SL-19243: Job step 'uses' must specify action.yaml fileNat Goodspeed
instead of having it implied by specifying the containing directory.
2023-09-12SL-19243: Use consolidated viewer-build-utilNat Goodspeed
instead of distinct viewer-post-bugsplat-{windows,mac} repos.
2023-09-11SL-19242: Try harder to post artifacts containing exactly app image.Nat Goodspeed
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-08SL-18837: Stop failing build.sh if there's no installer.Nat Goodspeed
This unblocks ReleaseOS builds, and also preps for SL-19242. Streamline build.sh's Uploads section.
2023-09-08SL-19242: Post -app artifact, not -exe, with entire install image.Nat Goodspeed
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-08SL-18837: Suppress ReleaseOS for now.Nat Goodspeed