Remove Cocoon (upload-metrics) from devicelab_test_drone. Turns out this code was duplicated, so it needs to be done twice. Part 2 of https://flutter-review.googlesource.com/c/recipes/+/64260. Bug: https://github.com/flutter/flutter/issues/165618 Change-Id: I05a3d798e1050b39c33ccb5f6e7369eafd245ad1 Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/64300 Commit-Queue: Matan Lurey <matanl@google.com> Reviewed-by: Jason Simmons <jsimmons@google.com>
diff --git a/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json b/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json index 57b8e61..b56cd69 100644 --- a/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json +++ b/recipes/devicelab/devicelab_test_drone.expected/artifact-exists.json
@@ -842,93 +842,9 @@ }, { "cmd": [ - "luci-auth", - "token", - "-lifetime", - "3m" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "1", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "name": "Upload metrics.get access token for default account (2)", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ - "vpython3", - "-u", - "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", - "--json-output", - "/path/to/tmp/json", - "copy", - "extra.secret.token.should.not.be.logged", - "[CLEANUP]/tmp_tmp_5" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "1", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "name": "Upload metrics.write cocoon token", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ "dart", "bin/test_runner.dart", - "upload-metrics", - "--test-flaky", - "False", - "--builder-bucket", - "", - "--git-branch", - "master", - "--luci-builder", - "ghi", - "--test-status", - "Succeeded", - "--service-account-token-file", - "[CLEANUP]/tmp_tmp_5" + "upload-metrics" ], "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/basic.json b/recipes/devicelab/devicelab_test_drone.expected/basic.json index 654c571..778a04f 100644 --- a/recipes/devicelab/devicelab_test_drone.expected/basic.json +++ b/recipes/devicelab/devicelab_test_drone.expected/basic.json
@@ -1210,109 +1210,9 @@ }, { "cmd": [ - "luci-auth", - "token", - "-lifetime", - "3m" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "test:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.get access token for default account (2)", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ - "vpython3", - "-u", - "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", - "--json-output", - "/path/to/tmp/json", - "copy", - "extra.secret.token.should.not.be.logged", - "[CLEANUP]/tmp_tmp_5" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "test:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.write cocoon token", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ "dart", "bin/test_runner.dart", "upload-metrics", - "--test-flaky", - "False", - "--builder-bucket", - "ci", "--results-file", "[CLEANUP]/results_tmp_1/results", "--commit-time", @@ -1320,9 +1220,7 @@ "--task-name", "abc", "--benchmark-tags", - "{\"arch\": \"intel\", \"device_type\": \"none\", \"device_version\": \"none\", \"host_type\": \"linux\"}", - "--service-account-token-file", - "[CLEANUP]/tmp_tmp_5" + "{\"arch\": \"intel\", \"device_type\": \"none\", \"device_version\": \"none\", \"host_type\": \"linux\"}" ], "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/local-engine.json b/recipes/devicelab/devicelab_test_drone.expected/local-engine.json index 3e95311..c97711e 100644 --- a/recipes/devicelab/devicelab_test_drone.expected/local-engine.json +++ b/recipes/devicelab/devicelab_test_drone.expected/local-engine.json
@@ -1404,123 +1404,9 @@ }, { "cmd": [ - "luci-auth", - "token", - "-lifetime", - "3m" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release", - "LOCAL_ENGINE_HOST": "host-release", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "test:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.get access token for default account (2)", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ - "vpython3", - "-u", - "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", - "--json-output", - "/path/to/tmp/json", - "copy", - "extra.secret.token.should.not.be.logged", - "[CLEANUP]/tmp_tmp_5" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/android-release", - "LOCAL_ENGINE_HOST": "host-release", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "linux", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/builder/src/out/android-release/dart-sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "test:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.write cocoon token", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ "dart", "bin/test_runner.dart", - "upload-metrics", - "--test-flaky", - "False", - "--builder-bucket", - "ci", - "--git-branch", - "master", - "--luci-builder", - "ghi", - "--test-status", - "Succeeded", - "--service-account-token-file", - "[CLEANUP]/tmp_tmp_5" + "upload-metrics" ], "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.expected/mac.json b/recipes/devicelab/devicelab_test_drone.expected/mac.json index 5a698c8..c50c245 100644 --- a/recipes/devicelab/devicelab_test_drone.expected/mac.json +++ b/recipes/devicelab/devicelab_test_drone.expected/mac.json
@@ -2692,117 +2692,9 @@ }, { "cmd": [ - "luci-auth", - "token", - "-lifetime", - "3m" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "darwin", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "project:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.get access token for default account (2)", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ - "vpython3", - "-u", - "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", - "--json-output", - "/path/to/tmp/json", - "copy", - "extra.secret.token.should.not.be.logged", - "[CLEANUP]/tmp_tmp_7" - ], - "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", - "env": { - "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p", - "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", - "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir", - "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir", - "GIT_BRANCH": "master", - "LUCI_BRANCH": "", - "LUCI_CI": "True", - "LUCI_PR": "", - "OS": "darwin", - "PUB_CACHE": "[START_DIR]/.pub-cache", - "REVISION": "12345abcde12345abcde12345abcde12345abcde", - "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk" - }, - "env_prefixes": { - "PATH": [ - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin", - "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin" - ] - }, - "infra_step": true, - "luci_context": { - "realm": { - "name": "project:ci" - }, - "resultdb": { - "current_invocation": { - "name": "invocations/build:8945511751514863184", - "update_token": "token" - }, - "hostname": "rdbhost" - } - }, - "name": "Upload metrics.write cocoon token", - "~followup_annotations": [ - "@@@STEP_NEST_LEVEL@1@@@" - ] - }, - { - "cmd": [ "dart", "bin/test_runner.dart", - "upload-metrics", - "--test-flaky", - "False", - "--builder-bucket", - "ci", - "--git-branch", - "master", - "--luci-builder", - "ghi", - "--test-status", - "Succeeded", - "--service-account-token-file", - "[CLEANUP]/tmp_tmp_7" + "upload-metrics" ], "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab", "env": {
diff --git a/recipes/devicelab/devicelab_test_drone.py b/recipes/devicelab/devicelab_test_drone.py index 0393d78..c7c5abf 100644 --- a/recipes/devicelab/devicelab_test_drone.py +++ b/recipes/devicelab/devicelab_test_drone.py
@@ -208,35 +208,29 @@ benchmark_tags, test_status='Succeeded', ): - """Upload DeviceLab test results to Cocoon/skia perf. + """Upload DeviceLab test results to skia perf. luci-auth only gurantees a service account token life of 3 minutes. To work around this limitation, results uploading is separate from the the test run. - Only post-submit tests upload results to Cocoon/skia perf. + Only post-submit tests upload results to skia perf. If `upload_metrics: true`, generated test metrics will be uploaded to skia perf - for both prod and staging tests. - - Otherwise, test status will be updated in Cocoon for tests running in prod pool, - and staging tests without `upload_metrics: true` will not be updated. + for both prod and staging tests. Otherwise, staging tests without + `upload_metrics: true` will not be updated. Args: env(dict): Current environment variables. env_prefixes(dict): Current environment prefixes variables. results_path(str): Path to test results. - is_test_flaky(bool): Flaky flag for the test running step. - git_branch(str): Branch the test runs against. - builder_name(str): The builder name that is being run on. commit_time(str): The commit time in UNIX timestamp. task_name(str): The task name of the current test. benchmark_tags(str): Json dumped str of benchmark tags, which includes host and device info. - test_status(str): The status of the test running step. """ if shouldNotUpdate(api, git_branch): return bucket = api.shard_util.get_base_bucket_name() - runner_params = ['--test-flaky', is_test_flaky, '--builder-bucket', bucket] + runner_params = [] if api.properties.get('upload_metrics'): runner_params.extend([ '--results-file', results_path, '--commit-time', commit_time, @@ -248,18 +242,9 @@ # - staging ones do not need to as we are not tracking staging tests in cocoon datastore. if bucket == 'staging': return - else: - runner_params.extend([ - '--git-branch', git_branch, '--luci-builder', builder_name, - '--test-status', test_status - ]) with api.step.nest('Upload metrics'): with api.token_util.metric_center_token(env, env_prefixes): - runner_params.extend([ - '--service-account-token-file', - api.token_util.cocoon_token() - ]) upload_command = ['dart', 'bin/test_runner.dart', 'upload-metrics'] upload_command.extend(runner_params) with api.context(env=env, env_prefixes=env_prefixes):