Skip to content
Open
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
7042674
Update sample app to receive input args on Android (required for test…
tustanivsky Nov 11, 2025
6e34b25
Add Android integration tests to CI
tustanivsky Nov 11, 2025
588aada
Comment crash capturing test
tustanivsky Nov 11, 2025
c82a55e
Fix test script
tustanivsky Nov 12, 2025
6b14d0a
Fix minor issues
tustanivsky Nov 12, 2025
a7bb5e3
Rename vars
tustanivsky Nov 12, 2025
7b3ab68
Clean up
tustanivsky Nov 12, 2025
a47a7ea
Better comments
tustanivsky Nov 12, 2025
35c488b
Refactor
tustanivsky Nov 12, 2025
297cf36
Fix workflow
tustanivsky Nov 12, 2025
d62218d
Fix
tustanivsky Nov 12, 2025
35862ce
Simplify mechanism to pass input args to Android app
tustanivsky Nov 13, 2025
3bc3f33
Clean up comments
tustanivsky Nov 13, 2025
281af4a
Merge branch 'main' into chore/android-tests
tustanivsky Nov 20, 2025
c9079bc
Test SauceLabs
tustanivsky Nov 20, 2025
957c826
Add separate SauceLabs test script
tustanivsky Nov 21, 2025
11d997a
Fix log retrieval
tustanivsky Nov 21, 2025
f87da41
Fix
tustanivsky Nov 21, 2025
4ea1b22
Rename script for running Android integration tests locally
tustanivsky Nov 21, 2025
d09d95e
Update readme
tustanivsky Nov 21, 2025
89c6014
Revert CI tweaks for faster iterations
tustanivsky Nov 21, 2025
b99f9a6
Clean up
tustanivsky Nov 21, 2025
4c7547b
Fix
tustanivsky Nov 21, 2025
f0bb43d
Fix typo
tustanivsky Nov 24, 2025
5fea785
Limit android e2e tests to 2 parallel jobs
tustanivsky Nov 24, 2025
9eeb769
Remove Pester install step as it is redundant
tustanivsky Nov 24, 2025
aeb2f78
Rename test scripts
tustanivsky Nov 24, 2025
c6777cc
Clean up
tustanivsky Nov 24, 2025
d03ecbb
Rework SauceLabs API requests
tustanivsky Nov 24, 2025
30d3be2
Simplify logs retrieval
tustanivsky Nov 24, 2025
532fa78
Remove unnecessary quotes
tustanivsky Nov 24, 2025
3e09c20
Configure new SauceLabs credentials
tustanivsky Nov 25, 2025
1c27be6
Change test device
tustanivsky Nov 25, 2025
3d8a9c7
Change SauceLabs test job name title
tustanivsky Nov 25, 2025
7dbcb78
Fix android test results upload check
tustanivsky Nov 25, 2025
e4a7195
Make SauceLabs device name configurable
tustanivsky Nov 25, 2025
e43d13f
Fix sample app
tustanivsky Nov 25, 2025
c218ae8
Try using app-runner Android providers for running tests
tustanivsky Nov 25, 2025
25fe615
Fix param name
tustanivsky Nov 25, 2025
69f3e65
Pass device name to SauceLabs provider
tustanivsky Nov 25, 2025
0b5fa5f
Connect to SauceLabs device set in env var
tustanivsky Nov 26, 2025
3b20dc8
Bump app-runner
tustanivsky Nov 26, 2025
c22b2c6
Merge android test scripts
tustanivsky Nov 26, 2025
49d01ee
Remove platform-specific test scripts
tustanivsky Nov 26, 2025
e4d0fb4
Add SauceLabs session name override
tustanivsky Nov 26, 2025
95d2fe6
Bump app-runner
tustanivsky Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,16 @@ jobs:
uses: ./.github/workflows/integration-test-windows.yml
with:
unreal-version: ${{ matrix.unreal }}

integration-test-android:
needs: [test-android]
name: Android UE ${{ matrix.unreal }}
secrets: inherit
strategy:
fail-fast: false
max-parallel: 2
matrix:
unreal: ['5.4', '5.5', '5.6', '5.7']
uses: ./.github/workflows/integration-test-android.yml
with:
unreal-version: ${{ matrix.unreal }}
50 changes: 50 additions & 0 deletions .github/workflows/integration-test-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
on:
workflow_call:
inputs:
unreal-version:
required: true
type: string

jobs:
integration-test:
name: Integration Test
runs-on: ubuntu-latest

env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
GITHUB_TOKEN: ${{ github.token }}
SAUCE_REGION: eu-central-1

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

- name: Download sample build
uses: actions/download-artifact@v4
with:
name: UE ${{ inputs.unreal-version }} sample build (Android)
path: sample-build

- name: Run integration tests
id: run-integration-tests
shell: pwsh
working-directory: integration-test
env:
SENTRY_UNREAL_TEST_DSN: ${{ secrets.SENTRY_UNREAL_TEST_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_API_TOKEN }}
SENTRY_UNREAL_TEST_APP_PATH: ${{ github.workspace }}/sample-build/SentryPlayground-arm64.apk
UNREAL_VERSION: ${{ inputs.unreal-version }}
run: |
cmake -B build -S .
Invoke-Pester Integration.Android.SauceLabs.Tests.ps1 -CI

- name: Upload integration test output
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: UE ${{ inputs.unreal-version }} integration test output (Android)
path: |
integration-test/output/
retention-days: 14
8 changes: 1 addition & 7 deletions .github/workflows/integration-test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,15 @@ jobs:
chmod +x ${{ github.workspace }}/sample-build/SentryPlayground.sh
chmod +x ${{ github.workspace }}/sample-build/SentryPlayground/Plugins/sentry/Binaries/Linux/crashpad_handler

- name: Install Pester
shell: pwsh
run: |
Install-Module -Name Pester -Force -SkipPublisherCheck

- name: Run integration tests
id: run-integration-tests
shell: pwsh
working-directory: integration-test
env:
SENTRY_UNREAL_TEST_DSN: ${{ secrets.SENTRY_UNREAL_TEST_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_API_TOKEN }}
SENTRY_UNREAL_TEST_APP_PATH: ${{ github.workspace }}/sample-build/SentryPlayground.sh
run: |
cd integration-test
mkdir build
cmake -B build -S .
Invoke-Pester Integration.Tests.ps1 -CI

Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/integration-test-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,12 @@ jobs:

- name: Run integration tests
id: run-integration-tests
working-directory: integration-test
env:
SENTRY_UNREAL_TEST_DSN: ${{ secrets.SENTRY_UNREAL_TEST_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_API_TOKEN }}
SENTRY_UNREAL_TEST_APP_PATH: ${{ github.workspace }}/sample-build/SentryPlayground.exe
run: |
cd integration-test
mkdir build
cmake -B build -S .
Invoke-Pester Integration.Tests.ps1 -CI

Expand Down
Loading