Fix monorepo testing that needs engine.version
Monorepo testing relies on engine.version having hash that is different from checkout out flutter version, so this CL ensures that engine.version is not overriden by flutter update_engine_version.
https://github.com/flutter/flutter/commit/021b2b36275342ad94a1ef44f9748b1e6153b0a3 is the change that updated engine.version
Example of previously broken build https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-linux-flutter-plugins/6833
Fixed build https://ci.chromium.org/ui/p/dart/builders/ci.sandbox.shadow/flutter-linux-flutter-plugins/8/overview
Change-Id: I75914387bd101d7cfc18041bb6d5e9ed9a6ff0ab
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/61662
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
diff --git a/recipes/engine_v2/tester.expected/engine.json b/recipes/engine_v2/tester.expected/engine.json
index e68aa90..60b36bb 100644
--- a/recipes/engine_v2/tester.expected/engine.json
+++ b/recipes/engine_v2/tester.expected/engine.json
@@ -422,6 +422,54 @@
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "move",
+ "[CACHE]/builder/flutter/DEPS",
+ "[CACHE]/builder/flutter/DEPS.bak"
+ ],
+ "cwd": "[CACHE]/builder/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_STORAGE_BASE_URL": "https://storage.googleapis.com/flutter_archives_v2/81123491",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[CACHE]/builder/flutter",
+ "SHARD": "framework_coverage",
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/flutter/bin",
+ "[CACHE]/builder/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "flutter:prod"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Rename [CACHE]/builder/flutter/DEPS to DEPS.bak to preserve engine.version"
+ },
+ {
+ "cmd": [
"flutter",
"update-packages",
"-v"
diff --git a/recipes/engine_v2/tester.expected/monorepo.json b/recipes/engine_v2/tester.expected/monorepo.json
index 24c04cf..1a5d184 100644
--- a/recipes/engine_v2/tester.expected/monorepo.json
+++ b/recipes/engine_v2/tester.expected/monorepo.json
@@ -656,6 +656,54 @@
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "move",
+ "[CACHE]/builder/flutter/DEPS",
+ "[CACHE]/builder/flutter/DEPS.bak"
+ ],
+ "cwd": "[CACHE]/builder/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_STORAGE_BASE_URL": "https://storage.googleapis.com/flutter_archives_v2/monorepo/123",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[CACHE]/builder/flutter",
+ "SHARD": "framework_coverage",
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/flutter/bin",
+ "[CACHE]/builder/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:123",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Rename [CACHE]/builder/flutter/DEPS to DEPS.bak to preserve engine.version"
+ },
+ {
+ "cmd": [
"flutter",
"update-packages",
"-v"
diff --git a/recipes/engine_v2/tester.expected/monorepo_framework_tests.json b/recipes/engine_v2/tester.expected/monorepo_framework_tests.json
index e71be4c..7ab4b2c 100644
--- a/recipes/engine_v2/tester.expected/monorepo_framework_tests.json
+++ b/recipes/engine_v2/tester.expected/monorepo_framework_tests.json
@@ -725,6 +725,61 @@
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "move",
+ "[CACHE]/builder/flutter/DEPS",
+ "[CACHE]/builder/flutter/DEPS.bak"
+ ],
+ "cwd": "[CACHE]/builder/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/android/sdk",
+ "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
+ "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
+ "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
+ "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_STORAGE_BASE_URL": "https://storage.googleapis.com/flutter_archives_v2/monorepo/123",
+ "GIT_BRANCH": "",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]/gradle",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[CACHE]/builder/flutter",
+ "SHARD": "framework_tests",
+ "SUBSHARD": "slow"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/flutter/bin",
+ "[CACHE]/builder/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:123",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Rename [CACHE]/builder/flutter/DEPS to DEPS.bak to preserve engine.version"
+ },
+ {
+ "cmd": [
"flutter",
"update-packages",
"-v"
diff --git a/recipes/engine_v2/tester.expected/monorepo_tryjob.json b/recipes/engine_v2/tester.expected/monorepo_tryjob.json
index 9853a78..138644e 100644
--- a/recipes/engine_v2/tester.expected/monorepo_tryjob.json
+++ b/recipes/engine_v2/tester.expected/monorepo_tryjob.json
@@ -422,6 +422,54 @@
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "move",
+ "[CACHE]/builder/flutter/DEPS",
+ "[CACHE]/builder/flutter/DEPS.bak"
+ ],
+ "cwd": "[CACHE]/builder/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_STORAGE_BASE_URL": "https://storage.googleapis.com/flutter_archives_v2/monorepo_try/81123491",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[CACHE]/builder/flutter",
+ "SHARD": "framework_coverage",
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/flutter/bin",
+ "[CACHE]/builder/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Rename [CACHE]/builder/flutter/DEPS to DEPS.bak to preserve engine.version"
+ },
+ {
+ "cmd": [
"flutter",
"update-packages",
"-v"
diff --git a/recipes/engine_v2/tester.expected/monorepo_web_tests.json b/recipes/engine_v2/tester.expected/monorepo_web_tests.json
index d21e944..c6bab6e 100644
--- a/recipes/engine_v2/tester.expected/monorepo_web_tests.json
+++ b/recipes/engine_v2/tester.expected/monorepo_web_tests.json
@@ -742,6 +742,58 @@
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "move",
+ "[CACHE]/builder/flutter/DEPS",
+ "[CACHE]/builder/flutter/DEPS.bak"
+ ],
+ "cwd": "[CACHE]/builder/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome",
+ "CHROME_NO_SANDBOX": "true",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_STORAGE_BASE_URL": "https://storage.googleapis.com/flutter_archives_v2/monorepo/123",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[CACHE]/builder/flutter",
+ "SHARD": "web_tests",
+ "SUBSHARD": "3"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/flutter/bin",
+ "[CACHE]/builder/flutter/bin/cache/dart-sdk/bin",
+ "[CACHE]/chrome/chrome",
+ "[CACHE]/chrome/drivers"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:123",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Rename [CACHE]/builder/flutter/DEPS to DEPS.bak to preserve engine.version"
+ },
+ {
+ "cmd": [
"flutter",
"update-packages",
"-v"
diff --git a/recipes/engine_v2/tester.py b/recipes/engine_v2/tester.py
index 4a67351..b925a87 100644
--- a/recipes/engine_v2/tester.py
+++ b/recipes/engine_v2/tester.py
@@ -129,6 +129,8 @@
shard_name = shard
env['FLUTTER_STORAGE_BASE_URL'] = artifact_url
with api.context(env=env, env_prefixes=env_prefixes, cwd=flutter):
+ api.file.move('Rename %s/DEPS to DEPS.bak to preserve engine.version' % flutter,
+ flutter / 'DEPS', flutter / 'DEPS.bak')
api.retry.step(
'download dependencies', ['flutter', 'update-packages', '-v'],
max_attempts=2,