From 1228061c074a348d63b3ef28b3c0e3e085f936fa Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Tue, 26 May 2026 10:43:55 +0000 Subject: [PATCH 01/11] ci: update flutter version to 3.41.9 in CI workflows --- .github/workflows/e2e_tests_fdc.yaml | 1 + .github/workflows/web.yaml | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index ab3ab5322656..d007cd6f577a 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -274,6 +274,7 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' + flutter-version: '3.41.9' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml index dd01a6bf15af..5ce8ec169a5a 100644 --- a/.github/workflows/web.yaml +++ b/.github/workflows/web.yaml @@ -53,6 +53,7 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' + flutter-version: '3.41.9' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" @@ -123,6 +124,9 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' + # TODO: Remove this pin once Flutter stable no longer fails non-WASM + # web e2e with DWDS AppConnectionException. + flutter-version: '3.41.9' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" From f65c9b67b9443c003b9d6c41ff292fd3fa478a96 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Tue, 26 May 2026 14:47:33 +0000 Subject: [PATCH 02/11] Trigger CI From f0090c7f3c3cdf0787650dbf2ccd3f31b168fba5 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Wed, 27 May 2026 09:38:34 +0000 Subject: [PATCH 03/11] ci: update flutter drive command to use --release flag in CI workflows --- .github/workflows/e2e_tests_fdc.yaml | 2 +- .github/workflows/e2e_tests_pipeline.yaml | 2 +- .github/workflows/web.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index d007cd6f577a..432e07103fa9 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -311,7 +311,7 @@ jobs: # https://github.com/flutter/flutter/issues/66264 run: | chromedriver --port=4444 --trace-buffer-size=100000 & - flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log + flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart --release -d chrome --dart-define=CI=true | tee output.log # We have to check the output for failed tests matching the string "[E]" output=$( Date: Wed, 27 May 2026 09:48:59 +0000 Subject: [PATCH 04/11] ci: remove --release flag from flutter drive command in CI workflows --- .github/workflows/e2e_tests_fdc.yaml | 2 +- .github/workflows/e2e_tests_pipeline.yaml | 2 +- .github/workflows/web.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index 432e07103fa9..d007cd6f577a 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -311,7 +311,7 @@ jobs: # https://github.com/flutter/flutter/issues/66264 run: | chromedriver --port=4444 --trace-buffer-size=100000 & - flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart --release -d chrome --dart-define=CI=true | tee output.log + flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log # We have to check the output for failed tests matching the string "[E]" output=$( Date: Wed, 27 May 2026 10:13:12 +0000 Subject: [PATCH 05/11] ci: add --verbose flag to flutter drive command in CI workflows for detailed output --- .github/workflows/e2e_tests_fdc.yaml | 2 +- .github/workflows/e2e_tests_pipeline.yaml | 2 +- .github/workflows/web.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index d007cd6f577a..b73a0d8ac420 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -311,7 +311,7 @@ jobs: # https://github.com/flutter/flutter/issues/66264 run: | chromedriver --port=4444 --trace-buffer-size=100000 & - flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log + flutter drive --verbose --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log # We have to check the output for failed tests matching the string "[E]" output=$( Date: Wed, 27 May 2026 10:30:54 +0000 Subject: [PATCH 06/11] ci: remove --verbose flag from flutter drive command in CI workflows and add version checks for chromedriver and Chrome --- .github/workflows/e2e_tests_fdc.yaml | 4 +++- .github/workflows/e2e_tests_pipeline.yaml | 4 +++- .github/workflows/web.yaml | 8 ++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index b73a0d8ac420..e9a3b162d4ff 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -310,8 +310,10 @@ jobs: # workaround we can use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | + chromedriver --version + "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & - flutter drive --verbose --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log + flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log # We have to check the output for failed tests matching the string "[E]" output=$( Date: Wed, 27 May 2026 11:26:20 +0000 Subject: [PATCH 07/11] ci: downgrade flutter version to 3.41.6 in CI workflows and add Chrome installation for testing --- .github/workflows/e2e_tests_fdc.yaml | 2 +- .github/workflows/e2e_tests_pipeline.yaml | 2 +- .github/workflows/web.yaml | 24 ++++++++++++++++++++--- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index e9a3b162d4ff..39f18924a649 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -274,7 +274,7 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' - flutter-version: '3.41.9' + flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" diff --git a/.github/workflows/e2e_tests_pipeline.yaml b/.github/workflows/e2e_tests_pipeline.yaml index c9e189d904fd..af9475cca69b 100644 --- a/.github/workflows/e2e_tests_pipeline.yaml +++ b/.github/workflows/e2e_tests_pipeline.yaml @@ -123,7 +123,7 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' - flutter-version: '3.41.9' + flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml index 7b7455eb4028..74683aa14714 100644 --- a/.github/workflows/web.yaml +++ b/.github/workflows/web.yaml @@ -53,7 +53,7 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' - flutter-version: '3.41.9' + flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" @@ -128,7 +128,7 @@ jobs: channel: 'stable' # TODO: Remove this pin once Flutter stable no longer fails non-WASM # web e2e with DWDS AppConnectionException. - flutter-version: '3.41.9' + flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" @@ -155,6 +155,24 @@ jobs: restore-keys: firebase-emulators-v3 - name: Start Firebase Emulator run: sudo chown -R 501:20 "/Users/runner/.npm" && cd ./.github/workflows/scripts && ./start-firebase-emulator.sh + - name: Install Chrome for Testing + run: | + chrome_version="147.0.7727.117" + case "$(uname -m)" in + arm64) chrome_platform="mac-arm64" ;; + x86_64) chrome_platform="mac-x64" ;; + *) echo "Unsupported architecture: $(uname -m)" && exit 1 ;; + esac + + chrome_dir="$RUNNER_TEMP/chrome-for-testing-$chrome_version" + mkdir -p "$chrome_dir" + curl --retry 3 -fsSLo "$chrome_dir/chrome.zip" "https://storage.googleapis.com/chrome-for-testing-public/$chrome_version/$chrome_platform/chrome-$chrome_platform.zip" + curl --retry 3 -fsSLo "$chrome_dir/chromedriver.zip" "https://storage.googleapis.com/chrome-for-testing-public/$chrome_version/$chrome_platform/chromedriver-$chrome_platform.zip" + unzip -q "$chrome_dir/chrome.zip" -d "$chrome_dir" + unzip -q "$chrome_dir/chromedriver.zip" -d "$chrome_dir" + + echo "$chrome_dir/chromedriver-$chrome_platform" >> "$GITHUB_PATH" + echo "CHROME_EXECUTABLE=$chrome_dir/chrome-$chrome_platform/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing" >> "$GITHUB_ENV" - name: 'E2E Tests' working-directory: tests # Web devices are not supported for the `flutter test` command yet. As a @@ -163,7 +181,7 @@ jobs: # Chrome debug service can fail with AppConnectionException. Retry once. run: | chromedriver --version - "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version + "$CHROME_EXECUTABLE" --version chromedriver --port=4444 --trace-buffer-size=100000 & run_tests() { flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true --dart-define=APP_CHECK_E2E=true | tee output.log From 5b81298ad778950cfc47cc66ab5d5e1d7dffbb43 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Wed, 27 May 2026 11:42:45 +0000 Subject: [PATCH 08/11] ci: add flutter version check in CI workflows for better debugging --- .github/workflows/e2e_tests_fdc.yaml | 1 + .github/workflows/web.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index 39f18924a649..c5314380320d 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -310,6 +310,7 @@ jobs: # workaround we can use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | + flutter --version chromedriver --version "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml index 74683aa14714..55517e1ee68e 100644 --- a/.github/workflows/web.yaml +++ b/.github/workflows/web.yaml @@ -86,6 +86,7 @@ jobs: # workaround we can use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | + flutter --version chromedriver --version "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & From 116abd97a61951182cf41b86333fee1a9035f302 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Wed, 27 May 2026 11:46:39 +0000 Subject: [PATCH 09/11] ci: add flutter version output to CI workflows for improved debugging --- .github/workflows/e2e_tests_pipeline.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/e2e_tests_pipeline.yaml b/.github/workflows/e2e_tests_pipeline.yaml index af9475cca69b..9988de806abd 100644 --- a/.github/workflows/e2e_tests_pipeline.yaml +++ b/.github/workflows/e2e_tests_pipeline.yaml @@ -148,6 +148,7 @@ jobs: # workaround we use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | + flutter --version chromedriver --version "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & From 224ffa700f6ca3242ed9b28272ecec6c3132dffb Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Wed, 27 May 2026 11:48:19 +0000 Subject: [PATCH 10/11] ci: remove Chrome installation step from CI workflows to streamline testing process --- .github/workflows/web.yaml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml index 55517e1ee68e..e94757147577 100644 --- a/.github/workflows/web.yaml +++ b/.github/workflows/web.yaml @@ -156,24 +156,6 @@ jobs: restore-keys: firebase-emulators-v3 - name: Start Firebase Emulator run: sudo chown -R 501:20 "/Users/runner/.npm" && cd ./.github/workflows/scripts && ./start-firebase-emulator.sh - - name: Install Chrome for Testing - run: | - chrome_version="147.0.7727.117" - case "$(uname -m)" in - arm64) chrome_platform="mac-arm64" ;; - x86_64) chrome_platform="mac-x64" ;; - *) echo "Unsupported architecture: $(uname -m)" && exit 1 ;; - esac - - chrome_dir="$RUNNER_TEMP/chrome-for-testing-$chrome_version" - mkdir -p "$chrome_dir" - curl --retry 3 -fsSLo "$chrome_dir/chrome.zip" "https://storage.googleapis.com/chrome-for-testing-public/$chrome_version/$chrome_platform/chrome-$chrome_platform.zip" - curl --retry 3 -fsSLo "$chrome_dir/chromedriver.zip" "https://storage.googleapis.com/chrome-for-testing-public/$chrome_version/$chrome_platform/chromedriver-$chrome_platform.zip" - unzip -q "$chrome_dir/chrome.zip" -d "$chrome_dir" - unzip -q "$chrome_dir/chromedriver.zip" -d "$chrome_dir" - - echo "$chrome_dir/chromedriver-$chrome_platform" >> "$GITHUB_PATH" - echo "CHROME_EXECUTABLE=$chrome_dir/chrome-$chrome_platform/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing" >> "$GITHUB_ENV" - name: 'E2E Tests' working-directory: tests # Web devices are not supported for the `flutter test` command yet. As a @@ -182,7 +164,6 @@ jobs: # Chrome debug service can fail with AppConnectionException. Retry once. run: | chromedriver --version - "$CHROME_EXECUTABLE" --version chromedriver --port=4444 --trace-buffer-size=100000 & run_tests() { flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true --dart-define=APP_CHECK_E2E=true | tee output.log From f26508a936aeef2ea84340d0927141437b693db0 Mon Sep 17 00:00:00 2001 From: Jude Kwashie Date: Fri, 29 May 2026 13:09:37 +0000 Subject: [PATCH 11/11] ci: remove flutter version specification and version checks from CI workflows to simplify setup --- .github/workflows/e2e_tests_fdc.yaml | 4 ---- .github/workflows/e2e_tests_pipeline.yaml | 4 ---- .github/workflows/web.yaml | 8 -------- 3 files changed, 16 deletions(-) diff --git a/.github/workflows/e2e_tests_fdc.yaml b/.github/workflows/e2e_tests_fdc.yaml index c5314380320d..ab3ab5322656 100644 --- a/.github/workflows/e2e_tests_fdc.yaml +++ b/.github/workflows/e2e_tests_fdc.yaml @@ -274,7 +274,6 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' - flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" @@ -310,9 +309,6 @@ jobs: # workaround we can use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | - flutter --version - chromedriver --version - "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & flutter drive --target=./integration_test/e2e_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log # We have to check the output for failed tests matching the string "[E]" diff --git a/.github/workflows/e2e_tests_pipeline.yaml b/.github/workflows/e2e_tests_pipeline.yaml index 9988de806abd..a70f6ef5c6a6 100644 --- a/.github/workflows/e2e_tests_pipeline.yaml +++ b/.github/workflows/e2e_tests_pipeline.yaml @@ -123,7 +123,6 @@ jobs: - uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff with: channel: 'stable' - flutter-version: '3.41.6' cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" @@ -148,9 +147,6 @@ jobs: # workaround we use the `flutter drive` command. Tracking issue: # https://github.com/flutter/flutter/issues/66264 run: | - flutter --version - chromedriver --version - "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version chromedriver --port=4444 --trace-buffer-size=100000 & flutter drive --target=./integration_test/pipeline/pipeline_live_test.dart --driver=./test_driver/integration_test.dart -d chrome --dart-define=CI=true | tee output.log output=$(