Bump polkadart and remove hack for wrongly generated storage key #1634
Workflow file for this run
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: IOS CI | |
on: | |
push: | |
branches: [master, f-droid] | |
tags: | |
- "*" | |
pull_request: | |
branches: [master, f-droid] | |
env: | |
NODE_VERSION: 18.14.2 | |
JAVA_VERSION: 12.x | |
ARTIFACT_PATH: ./screenshots | |
jobs: | |
cancel_previous_runs: | |
name: Cancel Previous Runs | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: styfle/cancel-workflow-action@0.11.0 | |
with: | |
access_token: ${{ secrets.GITHUB_TOKEN }} | |
ios_device_test: | |
runs-on: macos-13 | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
# See up to date screenshots specifications for Appstores: | |
# https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications/ | |
include: | |
- device: "iPhone 14 Pro Max" | |
record_video: true | |
# With this flag we can run the CI against different node versions to check compatibility. | |
docker_tag: "1.5.1" | |
- device: "iPhone 8 Plus" | |
record_video: false | |
docker_tag: "1.5.1" | |
- device: "iPad Pro (12.9-inch) (6th generation)" | |
record_video: false | |
docker_tag: "1.5.1" | |
- device: "iPad Pro (12.9-inch) (2nd generation)" | |
record_video: false | |
docker_tag: "1.5.1" | |
fail-fast: false | |
steps: | |
# Setup Environment | |
- uses: actions/checkout@v3 | |
- name: prepare xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "14.3" | |
- name: "Prepare environment for ios" | |
working-directory: ./scripts | |
run: ./ios_init_env.sh | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: "zulu" | |
- name: Install flutter wrapper | |
run: ./scripts/install_flutter_wrapper.sh | |
- name: "Create Simulator if iPad Pro 2nd gen" | |
if: ${{ matrix.device == 'iPad Pro (12.9-inch) (2nd generation)' }} | |
# Unfortunately it is not deterministic if the 16.2 or the 16.4 runtime is available | |
run: | | |
xcrun simctl create "iPad Pro (12.9-inch) (2nd generation)" "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-" "com.apple.CoreSimulator.SimRuntime.iOS-16-4" || \ | |
xcrun simctl create "iPad Pro (12.9-inch) (2nd generation)" "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-" "com.apple.CoreSimulator.SimRuntime.iOS-16-2" | |
- name: "Create Simulator if iPad 8 Plus" | |
if: ${{ matrix.device == 'iPhone 8 Plus' }} | |
# Unfortunately it is not deterministic if the 16.2 or the 16.4 runtime is available | |
run: | | |
xcrun simctl create "iPhone 8 Plus" "com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus" "com.apple.CoreSimulator.SimRuntime.iOS-16-4" || \ | |
xcrun simctl create "iPhone 8 Plus" "com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus" "com.apple.CoreSimulator.SimRuntime.iOS-16-2" | |
# JS Stuff | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Get dependencies (i.e., melos) | |
run: .flutter/bin/dart pub get | |
- name: Melos Bootstrap | |
run: .flutter/bin/dart run melos bootstrap | |
- name: "Build JS" | |
run: .flutter/bin/dart run melos yarn-build | |
- name: Start colima a docker runtime for MacOs | |
# Work around an upstream issue with the runner image: | |
# https://github.com/actions/runner-images/issues/8500 | |
run: | | |
brew upgrade || brew link --overwrite python@3.11 | |
brew install docker | |
brew install colima | |
colima start | |
- name: Run encointer-node | |
run: ./scripts/docker_run_encointer_node_notee.sh ${{ matrix.docker_tag }} & | |
- name: Bootstrap Demo Community | |
run: ./scripts/docker_run_encointer_client_bootstrap_demo_community.sh ${{ matrix.docker_tag }} | |
- name: "Start Simulator" | |
working-directory: ./scripts | |
env: | |
DEVICE_ID: ${{ matrix.device }} | |
run: source ./ios_emulator.sh | |
- name: Run integration tests with printscreens in all languages | |
if: startsWith(github.ref, 'refs/tags/') | |
run: ./scripts/multi_language_screenshot_ci_test.sh | |
env: | |
TEMP_DIR: ${{ env.ARTIFACT_PATH }} | |
RECORD: ${{ matrix.record_video }} | |
- name: Run integration tests with printscreens in en only | |
if: startsWith(github.ref , 'refs/tags/') != true | |
run: ./scripts/ios_integration_test.sh | |
env: | |
TEMP_DIR: ${{ env.ARTIFACT_PATH }} | |
RECORD: ${{ matrix.record_video }} | |
- name: "Upload screenshots and recording" | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.device }} | |
path: ${{ env.ARTIFACT_PATH }} |