Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for building releases with GitHub Actions #2189

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

psychonic
Copy link
Member

This change, starting with the master/dev builds, shifts to crafting our release builds with GitHub Actions as an alternative to our aging Buildbot infrastructure. Additionally, this offers increased transparency of how the binaries are generated.

Some scattered notes:

  • The Linux builds use a custom container image mocked to be as close to our existing build VM, primarily as to not introduce additional runtime dependencies or different compiler version behavior.
  • The Windows builds use the stock GHA Windows Server 2022 runner with its default of Visual Studio 2022. We have the option to downgrade back to VS 2019 if that becomes an issue
  • Builds are created for the same SDKs / engines as our Buildbot builds
  • Builds submit symbols in Breakpad format for usage with Accelerator, just as with our Buildbot builds
  • Release package format and naming is identical to the Buildbot builds, with a Release and Tag being created for each master push, and the Windows and Linux package being uploaded to each release
  • PDBs are not yet piped through to our symbol server, but are exposed as Workflow Artifacts

Our scheduled scripts that manage the download data on the SourceMod downloads page would be able to be updated to optionally download the releases locally, and to either point at the local versions as we do now, or to point to them on GitHub. We can use a similar process to fetch the PDBs and add to our symbol server.

The full workflow currently takes 30-40 minutes to run. There is room for improvement there, but any significant improvement would likely require a significant rework.

If this goes well, looking at SM 1.11, MM:S, and AMXX builds are on the table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant