[dart_ci] Install dart-sdk from fixed version and tag CIPD package as latest
Change-Id: Id242512b347f5b9852d26ef5b3a4ee0e8feae8ad
Reviewed-on: https://dart-review.googlesource.com/c/recipes/+/203880
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
diff --git a/recipes/dart/package_dart_ci.expected/basic-with-revision.json b/recipes/dart/package_dart_ci.expected/basic-with-revision.json
index 4df7c82..35a9ea5 100644
--- a/recipes/dart/package_dart_ci.expected/basic-with-revision.json
+++ b/recipes/dart/package_dart_ci.expected/basic-with-revision.json
@@ -86,49 +86,25 @@
"name": "submodule update"
},
{
- "cmd": [],
- "name": "install dart/dart-sdk"
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C"
- ],
- "infra_step": true,
- "name": "install dart/dart-sdk.ensure package directory",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
"cmd": [
"cipd",
"ensure",
"-root",
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C",
+ "[CACHE]/cipd_packages",
"-ensure-file",
- "dart/dart-sdk/${platform} zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C",
+ "dart/dart-sdk/${platform} version:2.13.1",
"-max-threads",
"0",
"-json-output",
"/path/to/tmp/json"
],
- "infra_step": true,
- "name": "install dart/dart-sdk.ensure_installed",
+ "name": "ensure_installed",
"~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-zysAwdt80NCILRb5\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:2.13.1--\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"dart/dart-sdk/resolved-platform\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -139,7 +115,7 @@
},
{
"cmd": [
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C/dart-sdk/bin/dart",
+ "[CACHE]/cipd_packages/dart-sdk/bin/dart",
"pub",
"get"
],
@@ -151,7 +127,7 @@
},
{
"cmd": [
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C/dart-sdk/bin/dart",
+ "[CACHE]/cipd_packages/dart-sdk/bin/dart",
"compile",
"exe",
"[START_DIR]/dart_ci/builder/bin/update_results_database.dart",
@@ -172,6 +148,8 @@
"{\"data\": [{\"file\": \"update_results_database\"}], \"install_mode\": \"copy\", \"package\": \"dart/ci/builder_scripts/${platform}\", \"root\": \"[CLEANUP]/tmp_tmp_1\"}",
"-hash-algo",
"sha256",
+ "-ref",
+ "latest",
"-tag",
"git_revision:deadbeef",
"-json-output",
diff --git a/recipes/dart/package_dart_ci.expected/basic.json b/recipes/dart/package_dart_ci.expected/basic.json
index f8bf35e..a932d7d 100644
--- a/recipes/dart/package_dart_ci.expected/basic.json
+++ b/recipes/dart/package_dart_ci.expected/basic.json
@@ -85,49 +85,25 @@
"name": "submodule update"
},
{
- "cmd": [],
- "name": "install dart/dart-sdk"
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C"
- ],
- "infra_step": true,
- "name": "install dart/dart-sdk.ensure package directory",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
"cmd": [
"cipd",
"ensure",
"-root",
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C",
+ "[CACHE]/cipd_packages",
"-ensure-file",
- "dart/dart-sdk/${platform} zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C",
+ "dart/dart-sdk/${platform} version:2.13.1",
"-max-threads",
"0",
"-json-output",
"/path/to/tmp/json"
],
- "infra_step": true,
- "name": "install dart/dart-sdk.ensure_installed",
+ "name": "ensure_installed",
"~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
"@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-zysAwdt80NCILRb5\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:2.13.1--\", @@@",
"@@@STEP_LOG_LINE@json.output@ \"package\": \"dart/dart-sdk/resolved-platform\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
@@ -138,7 +114,7 @@
},
{
"cmd": [
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C/dart-sdk/bin/dart",
+ "[CACHE]/cipd_packages/dart-sdk/bin/dart",
"pub",
"get"
],
@@ -150,7 +126,7 @@
},
{
"cmd": [
- "[CACHE]/cipd/dart/dart-sdk/zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C/dart-sdk/bin/dart",
+ "[CACHE]/cipd_packages/dart-sdk/bin/dart",
"compile",
"exe",
"[START_DIR]/dart_ci/builder/bin/update_results_database.dart",
@@ -171,6 +147,8 @@
"{\"data\": [{\"file\": \"update_results_database\"}], \"install_mode\": \"copy\", \"package\": \"dart/ci/builder_scripts/${platform}\", \"root\": \"[CLEANUP]/tmp_tmp_1\"}",
"-hash-algo",
"sha256",
+ "-ref",
+ "latest",
"-tag",
"git_revision:deadbeef",
"-json-output",
diff --git a/recipes/dart/package_dart_ci.py b/recipes/dart/package_dart_ci.py
index 45e4f2a..165fbcc 100644
--- a/recipes/dart/package_dart_ci.py
+++ b/recipes/dart/package_dart_ci.py
@@ -26,9 +26,12 @@
set_got_revision=True)
source_path = api.path['start_dir'].join('dart_ci')
# Get the Dart SDK to be used to compile the scripts.
- dart = api.cipd.ensure_tool('dart/dart-sdk/${platform}',
- 'zysAwdt80NCILRb51ynRCEMypab_UaPrqMsHaEQkpY4C',
- 'dart-sdk/bin/dart')
+ packages_path = api.path['cache'].join('cipd_packages')
+ ensure_file = api.cipd.EnsureFile()
+ # Cannot use ensure_tool here because of dartbug.com/46364
+ ensure_file.add_package('dart/dart-sdk/${platform}', 'version:2.13.1')
+ api.cipd.ensure(packages_path, ensure_file)
+ dart = packages_path.join('dart-sdk', 'bin', 'dart')
# Compile scripts.
output_root = api.path.mkdtemp()
output_file = output_root.join('update_results_database')
@@ -44,7 +47,8 @@
package_name = 'dart/ci/builder_scripts/${platform}'
pkg = api.cipd.PackageDefinition(package_name, output_root, 'copy')
pkg.add_file(output_file)
- api.cipd.create_from_pkg(pkg, tags={'git_revision': got_revision})
+ api.cipd.create_from_pkg(
+ pkg, tags={'git_revision': got_revision}, refs=['latest'])
def GenTests(api):