This project builds the official sentry-native binaries for and 22.04 using GitHub actions runners.
So you need to build a specific version of sentry-native. Here's how:
- create a branch for the version you want (use whatever name seems sensible)
- update
.github/workflows/main.yml
to specify the version of sentry-native you want to build - create a PR with your changes. This will trigger the CI to do a test build
- debug any issues
- check the action suceeded
- check the artefacts it built are correct/work for you
- keep tweaking
main.yml
until the action builds the version you want successfully
- once you have a successful build, merge/rebase your PR into
main
- Then tag the latest commit on
main
with the sentry-native version number to trigger a release build (git tag v6.7.1 && git push --tags
)
Now to use the library you have built do something like:
Use curl
to download and extract to /opt/sentry-native
:
curl -L https://github.com/constructpm/sentry-native-build/releases/download/v5.15.8/sentry-native-5.15.8-$PLATFORM.tar.gz | sudo tar -xJC /opt
where $PLATFORM
is currently restricted to ubuntu-22.04
.
Here's some more info about how this repo works. It's basically just a workflow that pulls the sentry-native source code for a specific version, builds it, and then optionally produces a release.
The workflow will pull the Qt source code from the getsentry/sentry-native
github repo.
We use the tags on this repo (eg v6.7.1
or v5.15.8
) when checking out to make sure we checkout a specific sentry-native version.
The sentry-native version specified at the top of the workflow file is this tag without the v
prefix.
To trigger a build just create a PR and push to it. Every push will build sentry-native and provide the results as artefacts tied to the workflow run.
To trigger a release just push a tag that starts with v
. Ideally push a tag matching the version of sentry-native you want to build a release for. The release will use the tag you provide to both tag and name the release (so tag v1.2.3
will produce Release v1.2.3
with tag v1.2.3
).
Simply pushing a tag will trigger the build process (on any branch), and then will create a Release using the result of that build. That release can be used via the curl
process listed above.