From 8d93b3d810adec5a9a6f2362811b7676cd207753 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Fri, 21 Mar 2025 14:41:12 -0700 Subject: [PATCH 01/12] Switch cronet_http/ok_http to use better workflow runners --- .github/workflows/cronet.yml | 2 +- .github/workflows/okhttp.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index e5abc9c2b3..01712cc22c 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -23,7 +23,7 @@ env: jobs: verify: name: Format & Analyze & Test - runs-on: ubuntu-latest + runs-on: linux-4cpu-16GB timeout-minutes: 20 strategy: fail-fast: false diff --git a/.github/workflows/okhttp.yaml b/.github/workflows/okhttp.yaml index 0670b3ae42..2655dba9f9 100644 --- a/.github/workflows/okhttp.yaml +++ b/.github/workflows/okhttp.yaml @@ -23,7 +23,7 @@ env: jobs: verify: name: Format & Analyze & Test - runs-on: ubuntu-latest + runs-on: linux-4cpu-16GB defaults: run: working-directory: pkgs/ok_http From 897044eaab9f90e353800ec6566c4812032e49e0 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Fri, 21 Mar 2025 14:55:11 -0700 Subject: [PATCH 02/12] Update cronet.yml --- .github/workflows/cronet.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 01712cc22c..3cfcc0dafc 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -33,10 +33,6 @@ jobs: run: working-directory: pkgs/cronet_http steps: - - name: Delete unnecessary tools 🔧 - uses: jlumbroso/free-disk-space@v1.3.1 - with: - android: false # Don't remove Android tools - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 with: From 788e937ed1f46d938cf028cb2c898eb4d4f3ecbf Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Fri, 21 Mar 2025 16:47:56 -0700 Subject: [PATCH 03/12] Update cronet.yml --- .github/workflows/cronet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 3cfcc0dafc..b1e4596c6c 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -59,6 +59,7 @@ jobs: # - pkgs/cronet_http/android/build.gradle # - pkgs/cronet_http/example/android/app/build.gradle api-level: 21 + disable-animations: true arch: x86_64 target: ${{ matrix.cronetHttpNoPlay == 'true' && 'default' || 'google_apis' }} script: cd pkgs/cronet_http/example && flutter test --dart-define=cronetHttpNoPlay=${{ matrix.cronetHttpNoPlay }} --timeout=1200s integration_test/ From d4fdd6e793eac5c055b36563b72bdb2d5cd81d6b Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Fri, 21 Mar 2025 19:54:06 -0700 Subject: [PATCH 04/12] Update cronet.yml --- .github/workflows/cronet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index b1e4596c6c..2fef75d6ba 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -23,7 +23,7 @@ env: jobs: verify: name: Format & Analyze & Test - runs-on: linux-4cpu-16GB + runs-on: ubuntu-cpu16-ram64 timeout-minutes: 20 strategy: fail-fast: false From 0f0a3296ea9913050e4f0c80ccc904e811d71623 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 10:14:56 -0700 Subject: [PATCH 05/12] Update cronet.yml --- .github/workflows/cronet.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 2fef75d6ba..f12a18c2d9 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -44,6 +44,10 @@ jobs: - id: install name: Install dependencies run: flutter pub get + - name: Memory + run: cat /proc/meminfo + - name: CPU + run: lscpu - name: Check formatting if: always() && steps.install.outcome == 'success' run: dart format --output=none --set-exit-if-changed . From 6796c301e471ce246c924b2a07926e191e56a603 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 10:48:31 -0700 Subject: [PATCH 06/12] Update cronet.yml --- .github/workflows/cronet.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index f12a18c2d9..2e9ca8c15b 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -44,10 +44,6 @@ jobs: - id: install name: Install dependencies run: flutter pub get - - name: Memory - run: cat /proc/meminfo - - name: CPU - run: lscpu - name: Check formatting if: always() && steps.install.outcome == 'success' run: dart format --output=none --set-exit-if-changed . @@ -62,7 +58,7 @@ jobs: # - .github/workflows/cronet.yml # - pkgs/cronet_http/android/build.gradle # - pkgs/cronet_http/example/android/app/build.gradle - api-level: 21 + api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '29' }} disable-animations: true arch: x86_64 target: ${{ matrix.cronetHttpNoPlay == 'true' && 'default' || 'google_apis' }} From d24b52716ec57a55715670b2a2dc67b27fc3679e Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 11:16:20 -0700 Subject: [PATCH 07/12] Update cronet.yml --- .github/workflows/cronet.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 2e9ca8c15b..50b2816aa8 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -24,7 +24,7 @@ jobs: verify: name: Format & Analyze & Test runs-on: ubuntu-cpu16-ram64 - timeout-minutes: 20 + timeout-minutes: 30 strategy: fail-fast: false matrix: @@ -58,7 +58,14 @@ jobs: # - .github/workflows/cronet.yml # - pkgs/cronet_http/android/build.gradle # - pkgs/cronet_http/example/android/app/build.gradle - api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '29' }} + + # Google Play services does not support older Android API levels; + # as of March 2025, they supported API level 23 and higher. Instead + # of breaking when support for API level 23 is removed, just run + # the tests that rely on Google Play services with the newest API + # level (34 as of March 2025). The tests that don't rely on Google + # Play serviecs can test the oldest supported API level. + api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '34' }} disable-animations: true arch: x86_64 target: ${{ matrix.cronetHttpNoPlay == 'true' && 'default' || 'google_apis' }} From f33bc867a7c316cf2729f1cdeec0b60a40fb07fc Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 11:26:35 -0700 Subject: [PATCH 08/12] Update cronet.yml --- .github/workflows/cronet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 50b2816aa8..5f99a654d8 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -65,7 +65,7 @@ jobs: # the tests that rely on Google Play services with the newest API # level (34 as of March 2025). The tests that don't rely on Google # Play serviecs can test the oldest supported API level. - api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '34' }} + api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '33' }} disable-animations: true arch: x86_64 target: ${{ matrix.cronetHttpNoPlay == 'true' && 'default' || 'google_apis' }} From 694adbca8ee7d7e071d82af33b445f4e2764643d Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 11:32:13 -0700 Subject: [PATCH 09/12] Update cronet.yml --- .github/workflows/cronet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 5f99a654d8..73d5359ea2 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -65,7 +65,7 @@ jobs: # the tests that rely on Google Play services with the newest API # level (34 as of March 2025). The tests that don't rely on Google # Play serviecs can test the oldest supported API level. - api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '33' }} + api-level: ${{ matrix.cronetHttpNoPlay == 'true' && '21' || '29' }} disable-animations: true arch: x86_64 target: ${{ matrix.cronetHttpNoPlay == 'true' && 'default' || 'google_apis' }} From 935cac51894717fa3cf8389f7637990130ed550e Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 12:30:44 -0700 Subject: [PATCH 10/12] Update cronet.yml --- .github/workflows/cronet.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml index 73d5359ea2..15bdc2a74a 100644 --- a/.github/workflows/cronet.yml +++ b/.github/workflows/cronet.yml @@ -50,6 +50,11 @@ jobs: - name: Analyze code if: always() && steps.install.outcome == 'success' run: flutter analyze --fatal-infos + - 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: Run tests uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d if: always() && steps.install.outcome == 'success' From ad6227c0ae0d1dcd9cd7d62b38d03d38a71a9cb2 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 12:44:01 -0700 Subject: [PATCH 11/12] Update okhttp.yaml --- .github/workflows/okhttp.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/okhttp.yaml b/.github/workflows/okhttp.yaml index 2655dba9f9..33d2439b7b 100644 --- a/.github/workflows/okhttp.yaml +++ b/.github/workflows/okhttp.yaml @@ -23,7 +23,7 @@ env: jobs: verify: name: Format & Analyze & Test - runs-on: linux-4cpu-16GB + runs-on: ubuntu-cpu16-ram64 defaults: run: working-directory: pkgs/ok_http @@ -45,6 +45,11 @@ jobs: - name: Analyze code if: always() && steps.install.outcome == 'success' run: flutter analyze --fatal-infos + - 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: Run tests uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d if: always() && steps.install.outcome == 'success' From 4aa6651589cb39d6d2b20c6d9ac12be110cc6237 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 24 Mar 2025 12:51:40 -0700 Subject: [PATCH 12/12] Update okhttp.yaml --- .github/workflows/okhttp.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/okhttp.yaml b/.github/workflows/okhttp.yaml index 33d2439b7b..484e161a89 100644 --- a/.github/workflows/okhttp.yaml +++ b/.github/workflows/okhttp.yaml @@ -6,12 +6,12 @@ on: - main - master paths: - - '.github/workflows/okhttp.yml' + - '.github/workflows/okhttp.yaml' - 'pkgs/ok_http/**' - 'pkgs/http_client_conformance_tests/**' pull_request: paths: - - '.github/workflows/okhttp.yml' + - '.github/workflows/okhttp.yaml' - 'pkgs/ok_http/**' - 'pkgs/http_client_conformance_tests/**' schedule: