Skip to content

Restore span names for GraphQL on the new version of OpenTelemetry (by changing OpenTelemetry defaults) #6709

Restore span names for GraphQL on the new version of OpenTelemetry (by changing OpenTelemetry defaults)

Restore span names for GraphQL on the new version of OpenTelemetry (by changing OpenTelemetry defaults) #6709

name: 'Integration Tests - Benchmarks'
on:
schedule:
- cron: '0 0 * * *' # every night at midnight UTC
pull_request:
paths:
- '**/sentry/**'
- '**/sentry-android/**'
- '**/sentry-android-core/**'
- '**/sentry-android-ndk/**'
- '**/sentry-android-integration-tests/**'
- '**/.github/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Benchmarks
runs-on: ubuntu-latest
# we copy the secret to the env variable in order to access it in the workflow
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: 'Set up Java: 17'
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96
with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
# Clean, build and release a test apk, but only if we will run the benchmark
- name: Make assembleBenchmarks
if: env.SAUCE_USERNAME != null
run: make assembleBenchmarks
- name: Run All Tests in SauceLab
uses: saucelabs/saucectl-run-action@39e4f0666ca8ecb4b60847213c6e0fbd6a0c2bd8 # pin@v3
if: github.event_name != 'pull_request' && env.SAUCE_USERNAME != null
env:
GITHUB_TOKEN: ${{ github.token }}
with:
sauce-username: ${{ secrets.SAUCE_USERNAME }}
sauce-access-key: ${{ secrets.SAUCE_ACCESS_KEY }}
config-file: .sauce/sentry-uitest-android-benchmark.yml
- name: Run one test in SauceLab
uses: saucelabs/saucectl-run-action@39e4f0666ca8ecb4b60847213c6e0fbd6a0c2bd8 # pin@v3
if: github.event_name == 'pull_request' && env.SAUCE_USERNAME != null
env:
GITHUB_TOKEN: ${{ github.token }}
with:
sauce-username: ${{ secrets.SAUCE_USERNAME }}
sauce-access-key: ${{ secrets.SAUCE_ACCESS_KEY }}
config-file: .sauce/sentry-uitest-android-benchmark-lite.yml
app-metrics:
runs-on: ubuntu-latest
# we copy the secret to the env variable in order to access it in the workflow
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: 'Set up Java: 17'
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96
with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- uses: actions/cache@v4
id: app-plain-cache
with:
path: sentry-android-integration-tests/test-app-plain/build/outputs/apk/release/test-app-plain-release.apk
key: ${{ github.workflow }}-${{ github.job }}-appplain-${{ hashFiles('sentry-android-integration-tests/test-app-plain/**') }}
- name: Build Android app plain
if: steps.app-plain-cache.outputs['cache-hit'] != 'true'
run: ./gradlew :sentry-android-integration-tests:test-app-plain:assembleRelease
- name: Build Android app with Sentry
run: ./gradlew :sentry-android-integration-tests:test-app-sentry:assembleRelease
- name: Collect app metrics
uses: getsentry/action-app-sdk-overhead-metrics@v1
with:
config: sentry-android-integration-tests/metrics-test.yml
sauce-user: ${{ secrets.SAUCE_USERNAME }}
sauce-key: ${{ secrets.SAUCE_ACCESS_KEY }}
if: env.SAUCE_USERNAME != null