diff --git a/.cirrus.yml b/.cirrus.yml index ceddebe..7b427d4 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -23,12 +23,11 @@ task: SENTRY_AUTH_TOKEN: ENCRYPTED[!c16a5cf7da5f856b4bc2f21fe8cb7aa2a6c981f851c094ed4d3025fd02ea59a58a86cee8b193a69a1fc20fa217e56ac3!] install_rust_script: - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - install_goreleaser_script: - - brew install go goreleaser/tap/goreleaser-pro + install_script: + - brew install go goreleaser/tap/goreleaser-pro getsentry/tools/sentry-cli build_script: - cargo build --profile release-with-debug - install_sentry_cli_script: - - brew install getsentry/tools/sentry-cli + release_script: goreleaser upload_sentry_debug_files_script: - cd target/release-with-debug/ # Generate and upload symbols @@ -37,4 +36,8 @@ task: # Bundle and upload sources - sentry-cli debug-files bundle-sources softnet.dSYM/ - sentry-cli debug-files upload -o $SENTRY_ORG -p $SENTRY_PROJECT softnet.src.zip - release_script: goreleaser + create_sentry_release_script: + - export SENTRY_RELEASE="softnet@$CIRRUS_TAG" + - sentry-cli releases new $SENTRY_RELEASE + - sentry-cli releases set-commits $SENTRY_RELEASE --auto + - sentry-cli releases finalize $SENTRY_RELEASE diff --git a/src/main.rs b/src/main.rs index fdee623..4c01073 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use anyhow::{anyhow, Context}; use clap::Parser; use privdrop::PrivDrop; use softnet::proxy::Proxy; +use std::borrow::Cow; use std::env; use std::os::raw::c_int; use std::os::unix::io::RawFd; @@ -54,6 +55,7 @@ fn main() -> ExitCode { // Initialize Sentry let _sentry = sentry::init(sentry::ClientOptions { + release: option_env!("CIRRUS_TAG").map(|tag| { Cow::from(format!("softnet@{tag}")) }), ..Default::default() });