chore: Bump actions/checkout from 6 to 7 (#1115) #191
This file contains hidden or 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: Functional Tests | |
| on: | |
| # Run by manual at this time | |
| workflow_dispatch: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ios_test: | |
| runs-on: macos-15 | |
| timeout-minutes: 90 | |
| env: | |
| XCODE_VERSION: 16.4 | |
| IOS_VERSION: 18.5 | |
| IOS_DEVICE_NAME: iPhone 16 Plus | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 'lts/*' | |
| - name: Select Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: ${{ env.XCODE_VERSION }} | |
| - run: defaults write com.apple.iphonesimulator PasteboardAutomaticSync -bool false | |
| - uses: futureware-tech/simulator-action@v5 | |
| with: | |
| # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md | |
| model: ${{ env.IOS_DEVICE_NAME }} | |
| os_version: ${{ env.IOS_VERSION }} | |
| - name: Preparing other environment | |
| run: | | |
| brew install ffmpeg | |
| brew tap wix/brew | |
| brew install applesimutils | |
| # Start Appium | |
| - name: Install appium and mjpeg-consumer | |
| run: | | |
| npm install -g appium | |
| npm install -g mjpeg-consumer | |
| - run: | | |
| appium driver install xcuitest | |
| appium plugin install images | |
| appium plugin install execute-driver | |
| nohup appium --use-plugins=images,execute-driver --relaxed-security --log-timestamp --log-no-colors > appium.log & | |
| - run: | | |
| npx appium driver run xcuitest download-wda-sim --platform=ios --outdir=${{ github.workspace }}/wda | |
| name: Downloading prebuilt WDA | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: 4.0 | |
| - run: | | |
| bundle install | |
| bundle exec rake ios | |
| name: Run tests | |
| timeout-minutes: 60 | |
| working-directory: ios_tests | |
| env: | |
| LOCAL_PREBUILT_WDA: ${{ github.workspace }}/wda/WebDriverAgentRunner-Runner.app | |
| - name: Save server output | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: appium-ios_test_with_other_deps.log | |
| path: | | |
| appium.log | |
| test/report/ | |
| android_test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 90 | |
| env: | |
| API_LEVEL: 35 | |
| ARCH: x86_64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| - name: Install Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 'lts/*' | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: 4.0 | |
| - name: Install appium | |
| run: | | |
| npm install -g appium | |
| npm install -g mjpeg-consumer | |
| - name: Start appium | |
| run: | | |
| appium driver install uiautomator2 | |
| appium plugin install images | |
| appium plugin install execute-driver | |
| nohup appium --use-plugins=images,execute-driver --relaxed-security --log-timestamp --log-no-colors > appium.log & | |
| - name: Enable KVM group perms | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| - name: AVD cache | |
| uses: actions/cache@v5 | |
| id: avd-cache | |
| with: | |
| path: | | |
| ~/.android/avd/* | |
| ~/.android/adb* | |
| key: avd-${{ env.API_LEVEL }} | |
| - name: Create AVD snapshot for cache | |
| if: steps.avd-cache.outputs.cache-hit != 'true' | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ env.API_LEVEL }} | |
| arch: ${{ env.ARCH }} | |
| target: google_apis | |
| force-avd-creation: false | |
| emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
| disable-animations: false | |
| script: echo "Generated AVD snapshot for caching." | |
| - name: run tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ env.API_LEVEL }} | |
| arch: ${{ env.ARCH }} | |
| script: cd android_tests;bundle install;bundle exec rake --tasks;bundle exec rake android | |
| target: google_apis | |
| profile: Nexus 5X | |
| disable-spellchecker: true | |
| disable-animations: true | |
| - name: Save server output | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: appium-android_test_with_other_deps.log | |
| path: | | |
| appium.log | |
| test/report/ |