diff options
| author | Jon Petersson <jon.petersson@kvadrat.se> | 2023-12-06 13:03:43 +0100 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2023-12-08 15:52:29 +0100 |
| commit | a4d678b4409dfdc959c62987c6385bc0581b91c2 (patch) | |
| tree | 2b2a99f4eb45fe9f92423e9b3a85254b4508a9f7 | |
| parent | 881c4c4b0b517708f058010a616d9bef271df39a (diff) | |
| download | mullvadvpn-a4d678b4409dfdc959c62987c6385bc0581b91c2.tar.xz mullvadvpn-a4d678b4409dfdc959c62987c6385bc0581b91c2.zip | |
Run screenshots action on Github
| -rw-r--r-- | .github/workflows/ios-screenshots.yml | 65 | ||||
| -rw-r--r-- | .github/workflows/ios.yml | 11 | ||||
| -rw-r--r-- | ios/MullvadVPN.xcodeproj/xcshareddata/xcschemes/MullvadVPNScreenshots.xcscheme | 2 | ||||
| -rw-r--r-- | ios/Snapfile | 8 |
4 files changed, 80 insertions, 6 deletions
diff --git a/.github/workflows/ios-screenshots.yml b/.github/workflows/ios-screenshots.yml new file mode 100644 index 0000000000..5453e84500 --- /dev/null +++ b/.github/workflows/ios-screenshots.yml @@ -0,0 +1,65 @@ +--- +name: iOS screenshots +on: + push: + tags: + - ios/* + workflow_dispatch: +jobs: + test: + name: Take screenshots + 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 x86_64-apple-ios + + - 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: Bundle + run: bundle install + working-directory: ios + + - name: Create screenshots + run: bundle exec fastlane snapshot + working-directory: ios + + - name: Upload screenshot artifacts + uses: actions/upload-artifact@v3 + with: + name: ios-screenshots + path: ios/Screenshots diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index cf1941a165..a76a674eaa 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -46,6 +46,7 @@ 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 @@ -81,6 +82,7 @@ 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 @@ -88,7 +90,7 @@ jobs: brew update brew install xcbeautify - - name: Run tests + - name: Run unit tests run: | set -o pipefail && env NSUnbufferedIO=YES xcodebuild \ -project MullvadVPN.xcodeproj \ @@ -97,4 +99,11 @@ 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/ diff --git a/ios/MullvadVPN.xcodeproj/xcshareddata/xcschemes/MullvadVPNScreenshots.xcscheme b/ios/MullvadVPN.xcodeproj/xcshareddata/xcschemes/MullvadVPNScreenshots.xcscheme index bd48a92aef..9e2f372416 100644 --- a/ios/MullvadVPN.xcodeproj/xcshareddata/xcschemes/MullvadVPNScreenshots.xcscheme +++ b/ios/MullvadVPN.xcodeproj/xcshareddata/xcschemes/MullvadVPNScreenshots.xcscheme @@ -23,7 +23,7 @@ </BuildActionEntries> </BuildAction> <TestAction - buildConfiguration = "Debug" + buildConfiguration = "Release" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" diff --git a/ios/Snapfile b/ios/Snapfile index a3be439b60..95dd009cf7 100644 --- a/ios/Snapfile +++ b/ios/Snapfile @@ -1,9 +1,9 @@ # A list of devices you want to take the screenshots from devices([ - "iPhone 8 Plus", # 5.5" - "iPhone 11 Pro Max", # 6.5" - "iPhone 14 Pro Max", # 6.7" - "iPad Pro (12.9-inch) (2nd generation)", + "iPhone SE (3rd generation)", + "iPhone 15 Pro", + "iPhone 15 Pro Max", + "iPad Pro (11-inch) (4th generation)", "iPad Pro (12.9-inch) (6th generation)" ]) |
