diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 0824501..4cd1964 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -29,12 +29,23 @@ jobs: flutter pub get working-directory: ./integrationtestapp + - name: Set up Chrome Dependencies + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y \ + libglib2.0-0 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 \ + libgtk-3-0 libgbm-dev libnss3-dev libxss-dev libasound2t64 \ + xvfb fonts-liberation libu2f-udev xdg-utils + wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gconf/libgconf-2-4_3.2.6-6ubuntu1_amd64.deb + sudo dpkg -i libgconf-2-4_3.2.6-6ubuntu1_amd64.deb || true + sudo apt-get install -f -y + - name: Set up Google Chrome and ChromeDriver uses: browser-actions/setup-chrome@v1 with: - chrome-version: 129 + chrome-version: 131 install-chromedriver: true - install-dependencies: true + install-dependencies: false - name: Start Xvfb run: | @@ -75,7 +86,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Set up Flutter uses: subosito/flutter-action@v2 @@ -88,6 +99,21 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm + - name: Install Android Command Line Tools + run: | + mkdir -p $HOME/android-sdk/cmdline-tools + curl -o commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip + unzip commandlinetools.zip -d $HOME/android-sdk/cmdline-tools + mv $HOME/android-sdk/cmdline-tools/cmdline-tools $HOME/android-sdk/cmdline-tools/latest + echo "export ANDROID_HOME=$HOME/android-sdk" >> $GITHUB_ENV + echo "export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH" >> $GITHUB_ENV + echo "export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools" >> $GITHUB_PATH + + - name: Accept SDK Licenses and Install Tools + run: | + yes | sdkmanager --licenses + sdkmanager "platform-tools" "platforms;android-35" "system-images;android-35;google_apis;x86_64" + - name: Install dependencies run: flutter pub get working-directory: ./integrationtestapp @@ -101,11 +127,12 @@ jobs: - name: Start emulator and run tests uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 34 + api-level: 35 target: google_apis - build-tools: 34.0.0 arch: x86_64 profile: Nexus 6 + force-avd-creation: true + emulator-boot-timeout: 600 working-directory: ./integrationtestapp script: flutter test integration_test/*.dart -d emulator-5554 --dart-define=MAILOSAUR_API_KEY=${{ secrets.MAILOSAUR_API_KEY }} diff --git a/integrationtestapp/proxy-server/package-lock.json b/integrationtestapp/proxy-server/package-lock.json index 972b8eb..2aadf95 100644 --- a/integrationtestapp/proxy-server/package-lock.json +++ b/integrationtestapp/proxy-server/package-lock.json @@ -10,7 +10,7 @@ "license": "ISC", "dependencies": { "axios": "^1.7.4", - "express": "^4.19.2" + "express": "^4.21.2" } }, "node_modules/accepts": { @@ -46,7 +46,7 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", + "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { @@ -125,7 +125,7 @@ } }, "node_modules/cookie": { - "version": "0.6.0", + "version": "1.0.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { @@ -255,12 +255,12 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", + "send": "0.19.1", "serve-static": "1.15.0", "setprototypeof": "1.2.0", "statuses": "2.0.1", @@ -659,7 +659,7 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/serve-static": { - "version": "1.15.0", + "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": {