Compute CIPD platform manually

This is a workaround for crbug.com/855703.

Change-Id: Iac37023d9a6e9580e0c79611c346bb6399bab1df
Reviewed-on: https://gn-review.googlesource.com/1800
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
diff --git a/infra/README.recipes.md b/infra/README.recipes.md
index afa61e5..55c0ca4 100644
--- a/infra/README.recipes.md
+++ b/infra/README.recipes.md
@@ -39,7 +39,7 @@
 
 Recipe for building GN.
 
-&mdash; **def [RunSteps](/infra/recipes/gn.py#29)(api, repository):**
+&mdash; **def [RunSteps](/infra/recipes/gn.py#28)(api, repository):**
 ### *recipes* / [windows\_sdk:examples/full](/infra/recipe_modules/windows_sdk/examples/full.py)
 
 [DEPS](/infra/recipe_modules/windows_sdk/examples/full.py#5): [windows\_sdk](#recipe_modules-windows_sdk), [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
diff --git a/infra/recipes/gn.expected/ci.json b/infra/recipes/gn.expected/ci.json
index d6ce20e..8556002 100644
--- a/infra/recipes/gn.expected/ci.json
+++ b/infra/recipes/gn.expected/ci.json
@@ -349,18 +349,18 @@
       "cipd.bat",
       "pkg-build",
       "-pkg-def",
-      "{\"data\": [{\"file\": \"gn.exe\"}, {\"version_file\": \".versions/gn.exe.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/${platform}\", \"root\": \"[START_DIR]\\\\gn\\\\out\"}",
+      "{\"data\": [{\"file\": \"gn.exe\"}, {\"version_file\": \".versions/gn.exe.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/windows-amd64\", \"root\": \"[START_DIR]\\\\gn\\\\out\"}",
       "-out",
       "[CLEANUP]\\gn.cipd",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "build gn/gn/${platform}",
+    "name": "build gn/gn/windows-amd64",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/windows-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
diff --git a/infra/recipes/gn.expected/cipd_exists.json b/infra/recipes/gn.expected/cipd_exists.json
index c63252d..3882778 100644
--- a/infra/recipes/gn.expected/cipd_exists.json
+++ b/infra/recipes/gn.expected/cipd_exists.json
@@ -191,18 +191,18 @@
       "cipd",
       "pkg-build",
       "-pkg-def",
-      "{\"data\": [{\"file\": \"gn\"}, {\"version_file\": \".versions/gn.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/${platform}\", \"root\": \"[START_DIR]/gn/out\"}",
+      "{\"data\": [{\"file\": \"gn\"}, {\"version_file\": \".versions/gn.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/linux-amd64\", \"root\": \"[START_DIR]/gn/out\"}",
       "-out",
       "[CLEANUP]/gn.cipd",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "build gn/gn/${platform}",
+    "name": "build gn/gn/linux-amd64",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/linux-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
@@ -222,19 +222,19 @@
     "cmd": [
       "cipd",
       "search",
-      "gn/gn/${platform}",
+      "gn/gn/linux-amd64",
       "-tag",
       "git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "cipd search gn/gn/${platform} git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+    "name": "cipd search gn/gn/linux-amd64 git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-git_revision:aaa\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"package\": \"gn/gn/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"gn/gn/linux-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
diff --git a/infra/recipes/gn.expected/cipd_register.json b/infra/recipes/gn.expected/cipd_register.json
index dd37807..381a9fc 100644
--- a/infra/recipes/gn.expected/cipd_register.json
+++ b/infra/recipes/gn.expected/cipd_register.json
@@ -191,18 +191,18 @@
       "cipd",
       "pkg-build",
       "-pkg-def",
-      "{\"data\": [{\"file\": \"gn\"}, {\"version_file\": \".versions/gn.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/${platform}\", \"root\": \"[START_DIR]/gn/out\"}",
+      "{\"data\": [{\"file\": \"gn\"}, {\"version_file\": \".versions/gn.cipd_version\"}], \"install_mode\": \"copy\", \"package\": \"gn/gn/linux-amd64\", \"root\": \"[START_DIR]/gn/out\"}",
       "-out",
       "[CLEANUP]/gn.cipd",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "build gn/gn/${platform}",
+    "name": "build gn/gn/linux-amd64",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/linux-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
@@ -222,13 +222,13 @@
     "cmd": [
       "cipd",
       "search",
-      "gn/gn/${platform}",
+      "gn/gn/linux-amd64",
       "-tag",
       "git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "cipd search gn/gn/${platform} git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+    "name": "cipd search gn/gn/linux-amd64 git_revision:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": []@@@",
@@ -250,12 +250,12 @@
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "name": "register gn/gn/${platform}",
+    "name": "register gn/gn/linux-amd64",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/linux-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@"
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py
index 2048936..2492dbd 100644
--- a/infra/recipes/gn.py
+++ b/infra/recipes/gn.py
@@ -100,7 +100,19 @@
   if build_input.gerrit_changes:
     return
 
-  cipd_pkg_name = 'gn/gn/${platform}'
+  # TODO: Use ${platform} after crbug.com/855703 is fixed and deployed.
+  platform = '%s-%s' % (api.platform.name.replace('win', 'windows'), {
+      'intel': {
+          32: '386',
+          64: 'amd64',
+      },
+      'arm': {
+          32: 'armv6',
+          64: 'arm64',
+      },
+  }[api.platform.arch][api.platform.bits])
+
+  cipd_pkg_name = 'gn/gn/' + platform
   gn = 'gn' + ('.exe' if api.platform.is_win else '')
 
   pkg_def = api.cipd.PackageDefinition(
@@ -158,8 +170,8 @@
       git_repo='gn.googlesource.com/gn',
       revision=REVISION,
   ) + api.step_data('rev-parse', api.raw_io.stream_output(REVISION)) +
-         api.step_data('cipd search gn/gn/${platform} git_revision:' + REVISION,
-                       api.cipd.example_search('gn/gn/${platform}',
+         api.step_data('cipd search gn/gn/linux-amd64 git_revision:' + REVISION,
+                       api.cipd.example_search('gn/gn/linux-amd64',
                                                ['git_revision:' + REVISION])))
 
   yield (api.test('cipd_register') + api.buildbucket.ci_build(
@@ -167,5 +179,5 @@
       git_repo='gn.googlesource.com/gn',
       revision=REVISION,
   ) + api.step_data('rev-parse', api.raw_io.stream_output(REVISION)) +
-         api.step_data('cipd search gn/gn/${platform} git_revision:' + REVISION,
-                       api.cipd.example_search('gn/gn/${platform}', [])))
+         api.step_data('cipd search gn/gn/linux-amd64 git_revision:' + REVISION,
+                       api.cipd.example_search('gn/gn/linux-amd64', [])))