summaryrefslogtreecommitdiff
path: root/.github/workflows
AgeCommit message (Collapse)Author
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
2023-09-07SL-18837: Suppress BUGSPLAT_DB for ReleaseOS builds.Nat Goodspeed
2023-09-07SL-18837: String literals are single-quoted in GitHub expressions.Nat Goodspeed
2023-09-07SL-18837: Segregate ReleaseOS artifacts; don't even upload.Nat Goodspeed
Eliminate references to (no longer set) matrix.addrsize.
2023-09-07SL-18837: Merge branch 'main' into actionsNat Goodspeed
2023-09-06SL-19243: Specify macos-latest for post-mac-symbols.Nat Goodspeed
We want to run on a GitHub-hosted runner rather than one of our own.
2023-09-01SL-19243: Add post-mac-symbols job using viewer-post-bugsplat-mac.Nat Goodspeed
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-01SL-19243: Job to post windows symbols must run on Windows.Nat Goodspeed
2023-08-31SL-19243: Fix wonky 'if:' in build.yamlNat Goodspeed
2023-08-31SL-19243: Fix 'uses:' reference to viewer-post-bugsplat-windowsNat Goodspeed
2023-08-31SL-19243: Fix build.yaml syntax error.Nat Goodspeed
2023-08-31SL-19243: Try to run Windows BugSplat uploads as a separate GH job.Nat Goodspeed
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-29SL-18837: Only list the downloaded artifacts.Nat Goodspeed
2023-08-29SL-18837: Introduce flatten_files.py and use to post release assetsNat Goodspeed
2023-08-28SL-18837: Experiment with download-artifact downloading all files.Nat Goodspeed
2023-08-18SL-18837: Engage initial GH viewer release script.Nat Goodspeed
2023-07-22SL-18837: Use 'needs' context, not 'jobs' contextNat Goodspeed
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-22SL-18837: Try posting build.yaml step outputs as job outputs.Nat Goodspeed
2023-07-21SL-18837: Tags can't have spaces or colons. Look for valid ones.Nat Goodspeed
2023-07-21SL-18837: Try triggering GH release for tag like "Second Life "...Nat Goodspeed
2023-07-18SL-18837: Use secondlife -3p/action-gh-releaseNat Goodspeed
instead of the original softprops/action-gh-release repo, because organization rules forbid directly using the softprops repo.
2023-07-18SL-18837: Try to post installer and metadata for GH viewer release.Nat Goodspeed
2023-07-18SL-18837: Re-delete redundant matrix.include python-version.Nat Goodspeed
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-18SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed