feat(symbolicli): Support Cocoa (#1549) #4042
This file contains 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: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
- release/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
RUSTFLAGS: -Dwarnings | |
jobs: | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install libcurl-dev | |
run: | | |
sudo apt update | |
sudo apt-get install -y libcurl4-openssl-dev | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install rust stable toolchain | |
run: rustup toolchain install stable --profile minimal --component rustfmt --component clippy --no-self-update | |
- name: Cache rust cargo artifacts | |
uses: swatinem/rust-cache@v2 | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
- name: Run clippy | |
run: cargo clippy --all-features --workspace --tests --examples | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install libcurl-dev | |
run: | | |
sudo apt update | |
sudo apt-get install -y libcurl4-openssl-dev | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install rust stable toolchain | |
run: rustup toolchain install stable --profile minimal --no-self-update | |
- name: Cache rust cargo artifacts | |
uses: swatinem/rust-cache@v2 | |
- name: Run cargo test | |
run: cargo test --workspace --all-features --locked | |
env: | |
SENTRY_SYMBOLICATOR_GCS_CLIENT_EMAIL: ${{ secrets.SENTRY_SYMBOLICATOR_GCS_CLIENT_EMAIL }} | |
SENTRY_SYMBOLICATOR_GCS_PRIVATE_KEY: ${{ secrets.SENTRY_SYMBOLICATOR_GCS_PRIVATE_KEY }} | |
SENTRY_SYMBOLICATOR_TEST_AWS_ACCESS_KEY_ID: ${{ secrets.SENTRY_SYMBOLICATOR_TEST_AWS_ACCESS_KEY_ID }} | |
SENTRY_SYMBOLICATOR_TEST_AWS_SECRET_ACCESS_KEY: ${{ secrets.SENTRY_SYMBOLICATOR_TEST_AWS_SECRET_ACCESS_KEY }} | |
GOOGLE_APPLICATION_CREDENTIALS_JSON: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_JSON }} | |
test_against_latest_sentry: | |
name: Sentry-Symbolicator Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install libcurl-dev | |
run: | | |
sudo apt update | |
sudo apt-get install -y libcurl4-openssl-dev | |
- name: Checkout Symbolicator | |
uses: actions/checkout@v4 | |
# Checkout Sentry and run integration tests against latest Symbolicator | |
- name: Checkout sentry | |
uses: actions/checkout@v4 | |
with: | |
repository: getsentry/sentry | |
path: sentry | |
- name: Setup steps | |
id: setup | |
run: | | |
# We cannot execute actions that are not placed under .github of the main repo | |
mkdir -p .github/actions/ | |
cp -r sentry/.github/actions/setup-sentry .github/actions/ | |
- name: Setup Sentry | |
uses: ./.github/actions/setup-sentry | |
with: | |
workdir: sentry | |
kafka: true | |
snuba: true | |
- name: Do the localhost docker dance | |
run: echo "$DJANGO_LIVE_TEST_SERVER_ADDRESS host.docker.internal" | sudo tee --append /etc/hosts | |
- name: Install rust stable toolchain | |
run: rustup toolchain install stable --profile minimal --no-self-update | |
- name: Cache rust cargo artifacts | |
uses: swatinem/rust-cache@v2 | |
- name: Build Symbolicator | |
run: cargo build --locked | |
- name: Run Symbolicator | |
run: ./target/debug/symbolicator run & | |
- name: Run Sentry's Symbolicator integration tests | |
working-directory: sentry | |
run: make test-symbolicator | |
doc-comments: | |
name: Rust doc comments | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- name: Install libcurl-dev | |
run: | | |
sudo apt update | |
sudo apt-get install -y libcurl4-openssl-dev | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install rust stable toolchain | |
run: rustup toolchain install stable --profile minimal --component rust-docs --no-self-update | |
- name: Cache rust cargo artifacts | |
uses: swatinem/rust-cache@v2 | |
- run: cargo doc --workspace --all-features --document-private-items --no-deps | |
docs: | |
name: Build docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Setup python dependencies | |
run: pip install --upgrade mkdocs mkdocs-material pygments | |
- name: Build Docs | |
run: mkdocs build | |
codecov: | |
name: Code Coverage | |
runs-on: ubuntu-latest | |
continue-on-error: true # well, its nightly and highly experimental | |
steps: | |
- name: Install libcurl-dev | |
run: | | |
sudo apt update | |
sudo apt-get install -y libcurl4-openssl-dev | |
- uses: actions/checkout@v4 | |
- name: Install rust stable toolchain | |
run: rustup toolchain install stable --profile minimal --component llvm-tools-preview --no-self-update | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@cargo-llvm-cov | |
- run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info | |
env: | |
SENTRY_SYMBOLICATOR_GCS_CLIENT_EMAIL: ${{ secrets.SENTRY_SYMBOLICATOR_GCS_CLIENT_EMAIL }} | |
SENTRY_SYMBOLICATOR_GCS_PRIVATE_KEY: ${{ secrets.SENTRY_SYMBOLICATOR_GCS_PRIVATE_KEY }} | |
SENTRY_SYMBOLICATOR_TEST_AWS_ACCESS_KEY_ID: ${{ secrets.SENTRY_SYMBOLICATOR_TEST_AWS_ACCESS_KEY_ID }} | |
SENTRY_SYMBOLICATOR_TEST_AWS_SECRET_ACCESS_KEY: ${{ secrets.SENTRY_SYMBOLICATOR_TEST_AWS_SECRET_ACCESS_KEY }} | |
GOOGLE_APPLICATION_CREDENTIALS_JSON: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_JSON }} | |
- uses: codecov/codecov-action@v4 | |
with: | |
files: lcov.info |