diff --git a/.github/workflows/android-integration-test.yml b/.github/workflows/android-integration-test.yml new file mode 100644 index 00000000..391cf2bd --- /dev/null +++ b/.github/workflows/android-integration-test.yml @@ -0,0 +1,70 @@ +# Name of your workflow. +name: Android 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. + android_integration_test: + # 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: 30 + # Contains a sequence of tasks. + steps: + # 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: "Install flutter dependencies" + run: | + flutter pub get + # Sets up android emulator + - name: "Run Android Flutter Integration Test" + uses: ReactiveCircus/android-emulator-runner@v2.14.3 + with: + api-level: 29 + target: default + avd-name: Flutter-Android + script: ./scripts/test.sh $(ipconfig getifaddr en0) \ No newline at end of file diff --git a/.github/workflows/flutter-drive.yml b/.github/workflows/flutter-drive.yml deleted file mode 100644 index 3c038c76..00000000 --- a/.github/workflows/flutter-drive.yml +++ /dev/null @@ -1,125 +0,0 @@ -# Name of your workflow. -name: flutter drive -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_test_drive: - # 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 - # 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 - **/node_modules - key: ${{ runner.os }}-pub-and-node_modules - # 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) - - # id of job, a string that is unique to the "jobs" node above. - android_integration_test_drive: - # 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 - # Contains a sequence of tasks. - steps: - # 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 - **/node_modules - key: ${{ runner.os }}-pub-and-node_modules - # 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: "Install flutter dependencies" - run: | - flutter pub get - # Sets up android emulator - - name: "Run Android Flutter Integration Test" - uses: ReactiveCircus/android-emulator-runner@v2.14.3 - with: - api-level: 29 - target: default - avd-name: Flutter-Android - script: ./scripts/test.sh $(ipconfig getifaddr en0) \ No newline at end of file diff --git a/.github/workflows/ios-integration-test.yml b/.github/workflows/ios-integration-test.yml new file mode 100644 index 00000000..28ccc469 --- /dev/null +++ b/.github/workflows/ios-integration-test.yml @@ -0,0 +1,69 @@ +# 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_test: + # 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: 30 + # 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) \ No newline at end of file