summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows
diff options
context:
space:
mode:
authorNiklas Berglund <niklas.berglund@gmail.com>2024-04-24 14:56:31 +0200
committerBug Magnet <marco.nikic@mullvad.net>2024-06-10 13:10:20 +0200
commitf660c518220de7683e7a3ecb307b10ebe95588a3 (patch)
treee0d1bdc7e24e2137650886d851d5923606dced63 /.github/workflows
parente47061ff19e3453875fab5d03fcc8aa6316ee3c2 (diff)
downloadmullvadvpn-f660c518220de7683e7a3ecb307b10ebe95588a3.tar.xz
mullvadvpn-f660c518220de7683e7a3ecb307b10ebe95588a3.zip
Move iOS end to end tests to staging environment
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ios-end-to-end-tests-settings-migration.yml4
-rw-r--r--.github/workflows/ios-end-to-end-tests.yml22
2 files changed, 24 insertions, 2 deletions
diff --git a/.github/workflows/ios-end-to-end-tests-settings-migration.yml b/.github/workflows/ios-end-to-end-tests-settings-migration.yml
index a5a27fd645..2ff8e1a2ba 100644
--- a/.github/workflows/ios-end-to-end-tests-settings-migration.yml
+++ b/.github/workflows/ios-end-to-end-tests-settings-migration.yml
@@ -42,6 +42,7 @@ jobs:
no_time_account_number: ${{ secrets.IOS_NO_TIME_ACCOUNT_NUMBER_PRODUCTION }}
test_device_udid: ${{ secrets.IOS_TEST_DEVICE_UDID }}
xcode_test_plan: 'MullvadVPNUITestsChangeDNSSettings'
+ partner_api_token: ${{ secrets.STAGEMOLE_PARTNER_AUTH }}
- name: Store test report for changing DNS settings
uses: actions/upload-artifact@v4
@@ -62,6 +63,7 @@ jobs:
has_time_account_number: ${{ secrets.IOS_HAS_TIME_ACCOUNT_NUMBER_PRODUCTION }}
no_time_account_number: ${{ secrets.IOS_NO_TIME_ACCOUNT_NUMBER_PRODUCTION }}
test_device_udid: ${{ secrets.IOS_TEST_DEVICE_UDID }}
+ partner_api_token: ${{ secrets.STAGEMOLE_PARTNER_AUTH }}
xcode_test_plan: 'MullvadVPNUITestsVerifyDNSSettingsChanged'
- name: Store test report for verifying DNS settings
@@ -85,6 +87,7 @@ jobs:
has_time_account_number: ${{ secrets.IOS_HAS_TIME_ACCOUNT_NUMBER_PRODUCTION }}
no_time_account_number: ${{ secrets.IOS_NO_TIME_ACCOUNT_NUMBER_PRODUCTION }}
test_device_udid: ${{ secrets.IOS_TEST_DEVICE_UDID }}
+ partner_api_token: ${{ secrets.STAGEMOLE_PARTNER_AUTH }}
xcode_test_plan: 'MullvadVPNUITestsChangeSettings'
- name: Store test report for changing all settings
@@ -106,6 +109,7 @@ jobs:
has_time_account_number: ${{ secrets.IOS_HAS_TIME_ACCOUNT_NUMBER_PRODUCTION }}
no_time_account_number: ${{ secrets.IOS_NO_TIME_ACCOUNT_NUMBER_PRODUCTION }}
test_device_udid: ${{ secrets.IOS_TEST_DEVICE_UDID }}
+ partner_api_token: ${{ secrets.STAGEMOLE_PARTNER_AUTH }}
xcode_test_plan: 'MullvadVPNUITestsVerifySettingsChanged'
- name: Store test report for verifying all other settings
diff --git a/.github/workflows/ios-end-to-end-tests.yml b/.github/workflows/ios-end-to-end-tests.yml
index 64d494b8ab..8d1c8178d0 100644
--- a/.github/workflows/ios-end-to-end-tests.yml
+++ b/.github/workflows/ios-end-to-end-tests.yml
@@ -14,6 +14,12 @@ on:
- .github/workflows/ios-end-to-end-tests.yml
- ios/**
workflow_dispatch:
+ inputs:
+ # Optionally specify a test case or suite to run.
+ # Must be in the format MullvadVPNUITest/<test-suite-name>/<test-case-name> where test case name is optional.
+ test_name:
+ description: 'Only run test case/suite'
+ required: false
schedule:
# At midnight every day.
# Notifications for scheduled workflows are sent to the user who last modified the cron
@@ -26,6 +32,7 @@ jobs:
if: github.event.pull_request.merged || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
name: End to end tests
runs-on: [self-hosted, macOS, ios-test]
+ timeout-minutes: 60
steps:
- name: Configure Rust
uses: actions-rs/toolchain@v1
@@ -50,11 +57,13 @@ jobs:
uses: ./.github/actions/ios-end-to-end-tests
with:
xcode_test_plan: ${{ env.XCODE_TEST_PLAN }}
+ test_name: ${{ github.event.inputs.test_name }}
ios_device_pin_code: ${{ secrets.IOS_DEVICE_PIN_CODE }}
test_device_identifier_uuid: ${{ secrets.IOS_TEST_DEVICE_IDENTIFIER_UUID }}
has_time_account_number: ${{ secrets.IOS_HAS_TIME_ACCOUNT_NUMBER_PRODUCTION }}
no_time_account_number: ${{ secrets.IOS_NO_TIME_ACCOUNT_NUMBER_PRODUCTION }}
test_device_udid: ${{ secrets.IOS_TEST_DEVICE_UDID }}
+ partner_api_token: ${{ secrets.STAGEMOLE_PARTNER_AUTH }}
- name: Comment PR on test failure
if: failure() && github.event_name == 'pull_request'
@@ -76,5 +85,14 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
- name: test-report
- path: ios/test-report/junit.xml
+ name: test-results
+ path: |
+ ios/junit-test-report/junit.xml
+ ios/xcode-test-report.xcresult
+
+ - name: Store app log artifacts
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: app-logs
+ path: ios/xcode-test-report/**/app-log-*.log