summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJon Petersson <jon.petersson@kvadrat.se>2023-12-13 11:40:59 +0100
committerBug Magnet <marco.nikic@mullvad.net>2023-12-18 15:23:41 +0100
commit16df70d29afd683f7dcd25a9a31a8aec08cfe0b6 (patch)
tree1c9ce6604ddda01fa2dd828ec7dbd4858e0cbdfb
parent92bced5d707478ecde15bbf20e38b7109d99d862 (diff)
downloadmullvadvpn-16df70d29afd683f7dcd25a9a31a8aec08cfe0b6.tar.xz
mullvadvpn-16df70d29afd683f7dcd25a9a31a8aec08cfe0b6.zip
Execute screenshot tests after merging to main
-rw-r--r--.github/workflows/ios-screenshots-creation.yml (renamed from .github/workflows/ios-screenshots.yml)2
-rw-r--r--.github/workflows/ios-screenshots-tests.yml75
-rw-r--r--.github/workflows/ios.yml9
3 files changed, 76 insertions, 10 deletions
diff --git a/.github/workflows/ios-screenshots.yml b/.github/workflows/ios-screenshots-creation.yml
index 9b98e8c875..f48116678a 100644
--- a/.github/workflows/ios-screenshots.yml
+++ b/.github/workflows/ios-screenshots-creation.yml
@@ -1,5 +1,5 @@
---
-name: iOS screenshots
+name: iOS create screenshots
on:
push:
tags:
diff --git a/.github/workflows/ios-screenshots-tests.yml b/.github/workflows/ios-screenshots-tests.yml
new file mode 100644
index 0000000000..6d2efe9d96
--- /dev/null
+++ b/.github/workflows/ios-screenshots-tests.yml
@@ -0,0 +1,75 @@
+---
+name: iOS test screenshots
+on:
+ pull_request:
+ types:
+ - closed
+ branches:
+ - main
+ paths:
+ - .github/workflows/ios.yml
+ - ios/.swiftformat
+ - ios/**/*.swift
+ - ios/**/*.xctestplan
+ workflow_dispatch:
+jobs:
+ test:
+ if: github.event.pull_request.merged
+ name: Screenshot tests
+ runs-on: macos-13-xlarge
+ env:
+ SOURCE_PACKAGES_PATH: .spm
+ TEST_ACCOUNT: ${{ secrets.IOS_TEST_ACCOUNT_NUMBER }}
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Configure cache
+ uses: actions/cache@v3
+ with:
+ path: ios/${{ env.SOURCE_PACKAGES_PATH }}
+ key: ${{ runner.os }}-spm-${{ hashFiles('ios/**/Package.resolved') }}
+ restore-keys: |
+ ${{ runner.os }}-spm-
+
+ - name: Setup go-lang
+ uses: actions/setup-go@v3
+ with:
+ go-version: 1.19.5
+
+ - name: Set up yeetd to workaround XCode being slow in CI
+ run: |
+ wget https://github.com/biscuitehh/yeetd/releases/download/1.0/yeetd-normal.pkg
+ sudo installer -pkg yeetd-normal.pkg -target /
+ yeetd &
+ - name: Configure Xcode
+ uses: maxim-lobanov/setup-xcode@v1
+ with:
+ xcode-version: '15.0.1'
+ - name: Configure Rust
+ run: rustup target add aarch64-apple-ios-sim
+
+ - name: Configure Xcode project
+ run: |
+ cp Base.xcconfig.template Base.xcconfig
+ cp App.xcconfig.template App.xcconfig
+ cp PacketTunnel.xcconfig.template PacketTunnel.xcconfig
+ cp Screenshots.xcconfig.template Screenshots.xcconfig
+ sed -i "" "s/MULLVAD_ACCOUNT_TOKEN = /MULLVAD_ACCOUNT_TOKEN = $TEST_ACCOUNT/g" Screenshots.xcconfig
+ working-directory: ios/Configurations
+
+ - name: Install xcbeautify
+ run: |
+ brew update
+ brew install xcbeautify
+
+ - name: Run screenshot tests
+ run: |
+ set -o pipefail && env NSUnbufferedIO=YES xcodebuild \
+ -project MullvadVPN.xcodeproj \
+ -scheme MullvadVPN \
+ -testPlan MullvadVPNScreenshots \
+ -destination "platform=iOS Simulator,name=iPhone 15" \
+ -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \
+ test 2>&1 | xcbeautify
+ working-directory: ios/
diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
index a76a674eaa..fad2c4d178 100644
--- a/.github/workflows/ios.yml
+++ b/.github/workflows/ios.yml
@@ -46,7 +46,6 @@ jobs:
runs-on: macos-13-xlarge
env:
SOURCE_PACKAGES_PATH: .spm
- TEST_ACCOUNT: ${{ secrets.IOS_TEST_ACCOUNT_NUMBER }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
@@ -82,7 +81,6 @@ jobs:
cp App.xcconfig.template App.xcconfig
cp PacketTunnel.xcconfig.template PacketTunnel.xcconfig
cp Screenshots.xcconfig.template Screenshots.xcconfig
- sed -i "" "s/MULLVAD_ACCOUNT_TOKEN = /MULLVAD_ACCOUNT_TOKEN = $TEST_ACCOUNT/g" Screenshots.xcconfig
working-directory: ios/Configurations
- name: Install xcbeautify
@@ -99,11 +97,4 @@ jobs:
-destination "platform=iOS Simulator,name=iPhone 15" \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \
test 2>&1 | xcbeautify
- set -o pipefail && env NSUnbufferedIO=YES xcodebuild \
- -project MullvadVPN.xcodeproj \
- -scheme MullvadVPN \
- -testPlan MullvadVPNScreenshots \
- -destination "platform=iOS Simulator,name=iPhone 15" \
- -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \
- test 2>&1 | xcbeautify
working-directory: ios/