Skip to content

test(critical): Add Mock Relay to verify crash envelope #1983

test(critical): Add Mock Relay to verify crash envelope

test(critical): Add Mock Relay to verify crash envelope #1983

name: 'System Tests Backend'
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
system-test:
runs-on: ubuntu-latest
continue-on-error: true
env:
SENTRY_URL: http://127.0.0.1:8000
strategy:
fail-fast: false
matrix:
sample: [ "sentry-samples-spring-boot-jakarta" ]
include:
- sample: "sentry-samples-spring-boot"
- sample: "sentry-samples-spring-boot-webflux-jakarta"
- sample: "sentry-samples-spring-boot-webflux"
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/setup-python@v5
with:
python-version: '3.10.5'
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@bb0c460cbf5354b0cddd15bacdf0d6aaa3e5a32b # pin@v3
with:
gradle-home-cache-cleanup: true
- name: Exclude android modules from build
run: |
sed -i \
-e '/.*"sentry-android-ndk",/d' \
-e '/.*"sentry-android",/d' \
-e '/.*"sentry-compose",/d' \
-e '/.*"sentry-android-core",/d' \
-e '/.*"sentry-android-fragment",/d' \
-e '/.*"sentry-android-navigation",/d' \
-e '/.*"sentry-android-okhttp",/d' \
-e '/.*"sentry-android-sqlite",/d' \
-e '/.*"sentry-android-timber",/d' \
-e '/.*"sentry-android-integration-tests:sentry-uitest-android-benchmark",/d' \
-e '/.*"sentry-android-integration-tests:sentry-uitest-android",/d' \
-e '/.*"sentry-android-integration-tests:sentry-uitest-android-critical",/d' \
-e '/.*"sentry-android-integration-tests:sentry-mock-relay",/d' \
-e '/.*"sentry-android-integration-tests:test-app-sentry",/d' \
-e '/.*"sentry-samples:sentry-samples-android",/d' \
-e '/.*"sentry-android-replay",/d' \
settings.gradle.kts
- name: Exclude android modules from ignore list
run: |
sed -i \
-e '/.*"sentry-uitest-android",/d' \
-e '/.*"sentry-uitest-android-benchmark",/d' \
-e '/.*"sentry-uitest-android-critical",/d' \
-e '/.*"sentry-mock-relay",/d' \
-e '/.*"test-app-sentry",/d' \
-e '/.*"sentry-samples-android",/d' \
build.gradle.kts
- name: Build server jar
run: |
./gradlew :sentry-samples:${{ matrix.sample }}:bootJar
- name: Start server and run integration test for sentry-cli commands
run: |
test/system-test-sentry-server-start.sh \
> sentry-mock-server.txt 2>&1 & \
test/system-test-spring-server-start.sh "${{ matrix.sample }}" \
> spring-server.txt 2>&1 & \
test/wait-for-spring.sh && \
./gradlew :sentry-samples:${{ matrix.sample }}:systemTest
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-${{ matrix.sample }}-system-test
path: |
**/build/reports/*
sentry-mock-server.txt
spring-server.txt
- name: Test Report
uses: phoenix-actions/test-reporting@f957cd93fc2d848d556fa0d03c57bc79127b6b5e # pin@v15
if: always()
with:
name: JUnit System Tests ${{ matrix.sample }}
path: |
**/build/test-results/**/*.xml
reporter: java-junit
output-to: step-summary
fail-on-error: false