release: 26.2.0 #182
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Binary Release Build | |
| on: | |
| push: | |
| branches: | |
| - release/** | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RELAY_CARGO_ARGS: "--locked" | |
| jobs: | |
| linux: | |
| name: Linux | |
| runs-on: ubuntu-latest | |
| container: | |
| # Use an older docker container to build the binary to guarantee glibc compatibility. | |
| # Ubuntu 20.04 needs to be supported until 2027-05-31 (EOL + 2 Years). | |
| # Make sure to update documentation once the version is updated: | |
| # https://docs.sentry.io/product/relay/operating-guidelines/ | |
| image: ubuntu:20.04 | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y --no-install-recommends git ca-certificates gcc libc6-dev curl make zip | |
| - uses: actions/checkout@v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Add git safe directory exception | |
| run: git config --global --add safe.directory "$(pwd)" | |
| - name: Install Rust Toolchain | |
| run: | | |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --profile minimal --default-toolchain stable -y | |
| - name: Build binary | |
| run: | | |
| . "$HOME/.cargo/env" | |
| make build-linux-release | |
| env: | |
| RELAY_FEATURES: | |
| - name: Bundle Debug File | |
| run: | | |
| cd target/release/ | |
| zip relay-Linux-x86_64-debug.zip relay.debug | |
| mv relay relay-Linux-x86_64 | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: artifact-linux | |
| path: target/release/relay-Linux-x86_64* | |
| if-no-files-found: 'error' | |
| # since this artifact will be merged, compression is not necessary | |
| compression-level: '0' | |
| linux-aarch64: | |
| name: Linux Aarch64 | |
| # Ubuntu 22.04 needs to be supported until Apr 2029 (EOL + 2 Years). | |
| # Make sure to update documentation once the version is updated: | |
| # https://docs.sentry.io/product/relay/operating-guidelines/ | |
| runs-on: ubuntu-22.04-arm | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Install Rust Toolchain | |
| run: rustup toolchain install stable --profile minimal --no-self-update | |
| - name: Build binary | |
| run: | | |
| make build-linux-release | |
| env: | |
| RELAY_FEATURES: | |
| - name: Bundle Debug File | |
| run: | | |
| cd target/release/ | |
| zip relay-Linux-aarch64-debug.zip relay.debug | |
| mv relay relay-Linux-aarch64 | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: artifact-linux-aarch64 | |
| path: target/release/relay-Linux-aarch64* | |
| if-no-files-found: 'error' | |
| # since this artifact will be merged, compression is not necessary | |
| compression-level: '0' | |
| macos: | |
| name: macOS | |
| # Make sure to update documentation once the version is updated: | |
| # https://docs.sentry.io/product/relay/operating-guidelines/ | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Install Rust Toolchain | |
| run: rustup toolchain install stable --profile minimal --no-self-update | |
| - name: Run Cargo Build | |
| run: cargo build --manifest-path=relay/Cargo.toml --release | |
| env: | |
| CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO: packed | |
| - name: Bundle dSYM | |
| run: | | |
| cd target/release | |
| mv relay relay-Darwin-x86_64 | |
| zip -r relay-Darwin-x86_64-dsym.zip relay.dSYM | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: artifact-macos | |
| path: target/release/relay-Darwin-x86_64* | |
| if-no-files-found: 'error' | |
| # since this artifact will be merged, compression is not necessary | |
| compression-level: '0' | |
| windows: | |
| name: Windows | |
| # Make sure to update documentation once the version is updated: | |
| # https://docs.sentry.io/product/relay/operating-guidelines/ | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| with: | |
| submodules: recursive | |
| - name: Install Rust Toolchain | |
| run: rustup toolchain install stable --profile minimal --no-self-update | |
| - name: Run Cargo Build | |
| run: cargo build --manifest-path=relay/Cargo.toml --release | |
| - name: Bundle PDB | |
| run: | | |
| Install-Module 7Zip4PowerShell -Force -Verbose | |
| cd target/release | |
| 7z a relay-Windows-x86_64-pdb.zip relay.pdb | |
| mv relay.exe relay-Windows-x86_64.exe | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: artifact-windows | |
| path: target/release/relay-Windows-x86_64* | |
| if-no-files-found: 'error' | |
| # since this artifact will be merged, compression is not necessary | |
| compression-level: '0' | |
| merge: | |
| name: Create Release Artifact | |
| runs-on: ubuntu-latest | |
| needs: [linux, linux-aarch64, macos, windows] | |
| steps: | |
| # Note: due to the immutability of artifacts in upload-artifact v4, | |
| # there cannot be mutliple upload-artifacts with the same name, in a sha's workflow runs. | |
| # However in this case it is fine because this only runs on release/** branches, | |
| # and the other runs on release-library/** branches. | |
| - uses: actions/upload-artifact/merge@v6 | |
| with: | |
| # Craft expects release assets to be a single artifact named after the sha. | |
| name: ${{ github.sha }} | |
| pattern: artifact-* | |
| delete-merged: true |