# Name of your workflow. name: iOS Integration Tests on: # Trigger the workflow on push or pull request, # but only for the main branch push: branches: - master pull_request: branches: - master # A workflow run is made up of one or more jobs. jobs: # id of job, a string that is unique to the "jobs" node above. ios_integration_tests: # Creates a build matrix for your jobs. You can define different # variations of an environment to run each job in. strategy: # A set of different configurations of the virtual # environment. # matrix: # When set to true, GitHub cancels all in-progress jobs if any # matrix job fails. fail-fast: false # The type of machine to run the job on. runs-on: macOS-latest timeout-minutes: 60 # Contains a sequence of tasks. steps: # A name for your step to display on GitHub. - name: "Start Simulator" run: | xcrun simctl list xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-12 com.apple.CoreSimulator.SimRuntime.iOS-14-3 | xargs xcrun simctl boot # The branch or tag ref that triggered the workflow will be # checked out. # https://github.com/actions/checkout - uses: actions/checkout@v2 # Sets up cache - name: Cache multiple paths uses: actions/cache@v2 with: path: | ~/.pub-cache ~/.npm key: ${{ runner.os }}-pub-and-npm-cache # Sets up a flutter environment. # https://github.com/marketplace/actions/flutter-action - name: "Install Flutter" uses: subosito/flutter-action@v1.4.0 with: channel: 'dev' # 'stable' or 'dev' or 'beta' - name: "Change Flutter channel to master" run: | flutter channel master flutter upgrade - uses: actions/setup-node@v2 with: node-version: '14' - name: "Install npm dependencies" run: | cd ./nodejs_server_test_auth_basic_and_ssl npm install cd .. - name: "Run iOS Flutter Integration Test" run: | flutter pub get flutter devices ./scripts/test.sh $(ipconfig getifaddr en0)