test(critical): Add Mock Relay to verify crash envelope #1986
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: '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 |