Skip to content

Commit

Permalink
Merge branch 'master' into ref/tracing
Browse files Browse the repository at this point in the history
  • Loading branch information
loewenheim committed Jan 25, 2022
2 parents 5791e4e + 0e99a5e commit 3775d1c
Show file tree
Hide file tree
Showing 49 changed files with 3,366 additions and 1,277 deletions.
12 changes: 7 additions & 5 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@ targets:
targetFormat: '{{{target}}}:latest'
requireNames:
- /^gh-pages.zip$/
- /^symbolicator-Darwin-universal$/
- /^symbolicator-Linux-x86_64$/
- /^symbolicator-Linux-x86_64-debug.zip$/
- /^symbolicator-aarch64-apple-darwin-debug.zip$/
- /^symbolicator-x86_64-apple-darwin-debug.zip$/
- /^symsorter-Darwin-universal$/
- /^symsorter-Linux-x86_64$/
- /^wasm-split-Linux-x86_64$/
- /^symbolicator-Darwin-universal$/
- /^symsorter-Windows-x86_64\.exe$/
- /^wasm-split-Darwin-universal$/
- /^symsorter-Darwin-universal$/
- /^symbolicator-x86_64-apple-darwin-debug.zip$/
- /^symbolicator-aarch64-apple-darwin-debug.zip$/
- /^wasm-split-Linux-x86_64$/
- /^wasm-split-Windows-x86_64\.exe$/
42 changes: 42 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ jobs:
objcopy --add-gnu-debuglink target/release/symbolicator{.debug,}
zip -j build/symbolicator-Linux-x86_64-debug.zip target/release/symbolicator.debug
# Strip debug info for tools
objcopy --strip-debug --strip-unneeded target/release/wasm-split
objcopy --strip-debug --strip-unneeded target/release/symsorter
# Move all binaries
mv target/release/symbolicator build/symbolicator-Linux-x86_64
mv target/release/wasm-split build/wasm-split-Linux-x86_64
Expand Down Expand Up @@ -120,6 +124,44 @@ jobs:
name: ${{ github.sha }}
path: build/*

windows:
name: Build Tools on Windows
runs-on: windows-2019

steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true

- name: Run Cargo Build (symsorter)
uses: actions-rs/cargo@v1
with:
command: build
args: -p symsorter --release --locked

- name: Run Cargo Build (wasm-split)
uses: actions-rs/cargo@v1
with:
command: build
args: -p wasm-split --release --locked

- name: Rename Binaries
run: |
cd target/release
mv symsorter.exe symsorter-Windows-x86_64.exe
mv wasm-split.exe wasm-split-Windows-x86_64.exe
- uses: actions/upload-artifact@v2
with:
name: ${{ github.sha }}
path: target/release/*-Windows-x86_64.exe

docs:
name: Build Docs
runs-on: ubuntu-latest
Expand Down
32 changes: 31 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ jobs:
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 }}

integration-test:
name: Integration Tests
Expand Down Expand Up @@ -161,7 +162,7 @@ jobs:
kafka: true
snuba: true
cache-files-hash: ${{ hashFiles('sentry/requirements**.txt') }}
python-version: 3.6
python-version: 3.8

- name: Run Sentry's Symbolicator integration tests
working-directory: sentry
Expand Down Expand Up @@ -210,3 +211,32 @@ jobs:

- name: Build Docs
run: mkdocs build

# Code coverage instrumentation is current broken in recent Rust nightlies,
# as they fail processing with the following error:
# `Failed to load coverage: Truncated coverage data`
# https://github.com/taiki-e/cargo-llvm-cov/issues/128
codecov:
name: Code Coverage
runs-on: ubuntu-latest
continue-on-error: true # well, its nightly and highly experimental

steps:
- uses: actions/checkout@v2

- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly-2022-01-14
components: llvm-tools-preview
override: true

- uses: Swatinem/rust-cache@v1

- uses: taiki-e/install-action@cargo-llvm-cov

- run: cargo llvm-cov --all-features --workspace --doctests --lcov --output-path lcov.info

- uses: codecov/codecov-action@e156083f13aff6830c92fc5faa23505779fbf649
with:
files: lcov.info
30 changes: 22 additions & 8 deletions .github/workflows/periodic.yml → .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
name: Periodic CI
name: Weekly CI

on:
schedule:
- cron: '11 7 * * 1,4'
- cron: "0 0 * * 1" # every monday at 00:00
workflow_dispatch:

env:
RUSTFLAGS: -Dwarnings

jobs:
lint-and-test:
runs-on: ubuntu-latest
weekly-ci:
strategy:
fail-fast: false
matrix:
rust: [nightly, beta]

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- uses: actions-rs/toolchain@v1
with:
Expand All @@ -25,13 +29,23 @@ jobs:
override: true
components: clippy

- name: Run clippy ${{ matrix.rust }}
uses: actions-rs/cargo@v1
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-features --workspace --tests --examples
args: --all-features --workspace --tests --examples -- -D clippy::all

- uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-features --locked
args: --workspace --all-features

weekly-audit:
name: Audit
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ __pycache__
/local.yml
/cache/
/symbols/
/shared_cache/
/symbolicator-gcs-test-key.json
/gcs-service-account.json

# mkdocs
site
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## Unreleased

### Features
- Support for `external_debug_info` section in wasm-split for external dwarf files. ([#619](https://github.com/getsentry/symbolicator/pull/619))
- Added windows binaries for `wasm-split` and `symsorter` to releases ([#624](https://github.com/getsentry/symbolicator/pull/624))

## 0.4.1

### Features

- Very basic shared-cache support, allowing multiple symbolicators to share one global cache and have faster warmup times. ([#581](https://github.com/getsentry/symbolicator/pull/581))
- Support concurrency control and backpressure on uploading to shared cache. ([#584](https://github.com/getsentry/symbolicator/pull/584))
- Use Google Application Credentials to authenticate to GCS in the shared cache. ([#591](https://github.com/getsentry/symbolicator/pull/591))

### Fixes
- Truncate Malformed and Cache-Specific entries in the cache to match the length of their contents, in case they overwrote some longer, existing entry. ([#586](https://github.com/getsentry/symbolicator/pull/586))

## 0.4.0

### Features
Expand Down
Loading

0 comments on commit 3775d1c

Please sign in to comment.