Update recipe to actually fetch and build changes Currently, we only test the bootstrap. Change-Id: I63c0aaf3f5c7f8b0abe52d480517515844b332ef Reviewed-on: https://gn-review.googlesource.com/1260 Reviewed-by: Scott Graham <scottmg@chromium.org> Commit-Queue: Petr Hosek <phosek@google.com>
diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2491fdf --- /dev/null +++ b/.editorconfig
@@ -0,0 +1,3 @@ +[*.py] +indent_style = space +indent_size = 2
diff --git a/.gitignore b/.gitignore index ae30641..4c20aff 100644 --- a/.gitignore +++ b/.gitignore
@@ -42,6 +42,7 @@ .metadata .project .pydevproject +.recipe_deps .checkstyle cscope.* out/ @@ -54,7 +55,6 @@ Thumbs.db # Settings directories for eclipse /.externalToolBuilders/ -/.recipe_deps/ /.settings/ /.vs/ # Visual Studio Code
diff --git a/infra/README.recipes.md b/infra/README.recipes.md index 72fb3b3..8ee6bd2 100644 --- a/infra/README.recipes.md +++ b/infra/README.recipes.md
@@ -8,12 +8,17 @@ ### *recipes* / [gn](/infra/recipes/gn.py) -[DEPS](/infra/recipes/gn.py#6): [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/step][recipe_engine/recipe_modules/step] +[DEPS](/infra/recipes/gn.py#6): [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/cipd][recipe_engine/recipe_modules/cipd], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/step][recipe_engine/recipe_modules/step] Recipe for building GN. -— **def [RunSteps](/infra/recipes/gn.py#13)(api):** +— **def [RunSteps](/infra/recipes/gn.py#18)(api):** -[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/10f67fe223a7973a95bc5fff219d1a7a3d95a326/README.recipes.md#recipe_modules-path -[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/10f67fe223a7973a95bc5fff219d1a7a3d95a326/README.recipes.md#recipe_modules-platform -[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/10f67fe223a7973a95bc5fff219d1a7a3d95a326/README.recipes.md#recipe_modules-step +[recipe_engine/recipe_modules/buildbucket]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-buildbucket +[recipe_engine/recipe_modules/cipd]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-cipd +[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-context +[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-path +[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-platform +[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-properties +[recipe_engine/recipe_modules/python]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-python +[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/40699af88c76d65ef1b3d364de221611603e2dc6/README.recipes.md#recipe_modules-step
diff --git a/infra/config/recipes.cfg b/infra/config/recipes.cfg index 1e725fe..d0130f8 100644 --- a/infra/config/recipes.cfg +++ b/infra/config/recipes.cfg
@@ -3,7 +3,7 @@ "deps": { "recipe_engine": { "branch": "master", - "revision": "10f67fe223a7973a95bc5fff219d1a7a3d95a326", + "revision": "40699af88c76d65ef1b3d364de221611603e2dc6", "url": "https://chromium.googlesource.com/infra/luci/recipes-py" } },
diff --git a/infra/recipes/gn.expected/ci_linux.json b/infra/recipes/gn.expected/ci_linux.json new file mode 100644 index 0000000..4e5c5ff --- /dev/null +++ b/infra/recipes/gn.expected/ci_linux.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]/gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn.googlesource.com/gn", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "checkout", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.checkout", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[START_DIR]/cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/gn/tools/gn/bootstrap/bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]/cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/ci_mac.json b/infra/recipes/gn.expected/ci_mac.json new file mode 100644 index 0000000..4e5c5ff --- /dev/null +++ b/infra/recipes/gn.expected/ci_mac.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]/gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn.googlesource.com/gn", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "checkout", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.checkout", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[START_DIR]/cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/gn/tools/gn/bootstrap/bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]/cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/ci_win.json b/infra/recipes/gn.expected/ci_win.json new file mode 100644 index 0000000..08a77d3 --- /dev/null +++ b/infra/recipes/gn.expected/ci_win.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]\\gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn.googlesource.com/gn", + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ], + "cwd": "[START_DIR]\\gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "checkout", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]\\gn", + "infra_step": true, + "name": "git.checkout", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd.bat", + "ensure", + "-root", + "[START_DIR]\\cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]\\gn\\tools\\gn\\bootstrap\\bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]\\cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_linux.json b/infra/recipes/gn.expected/cq_linux.json new file mode 100644 index 0000000..06ec6c6 --- /dev/null +++ b/infra/recipes/gn.expected/cq_linux.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]/gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn-review.googlesource.com/gn", + "refs/changes/00/1000/1" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "cherry-pick", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.cherry-pick", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[START_DIR]/cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/gn/tools/gn/bootstrap/bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]/cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_mac.json b/infra/recipes/gn.expected/cq_mac.json new file mode 100644 index 0000000..06ec6c6 --- /dev/null +++ b/infra/recipes/gn.expected/cq_mac.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]/gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn-review.googlesource.com/gn", + "refs/changes/00/1000/1" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "cherry-pick", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/gn", + "infra_step": true, + "name": "git.cherry-pick", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[START_DIR]/cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/gn/tools/gn/bootstrap/bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]/cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_win.json b/infra/recipes/gn.expected/cq_win.json new file mode 100644 index 0000000..0bd3b48 --- /dev/null +++ b/infra/recipes/gn.expected/cq_win.json
@@ -0,0 +1,91 @@ +[ + { + "cmd": [], + "name": "git" + }, + { + "cmd": [ + "git", + "init", + "[START_DIR]\\gn" + ], + "infra_step": true, + "name": "git.init", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "fetch", + "https://gn-review.googlesource.com/gn", + "refs/changes/00/1000/1" + ], + "cwd": "[START_DIR]\\gn", + "infra_step": true, + "name": "git.fetch", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "git", + "cherry-pick", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]\\gn", + "infra_step": true, + "name": "git.cherry-pick", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "cipd.bat", + "ensure", + "-root", + "[START_DIR]\\cipd", + "-ensure-file", + "infra/ninja/${platform} version:1.8.2", + "-json-output", + "/path/to/tmp/json" + ], + "infra_step": true, + "name": "ensure_installed", + "~followup_annotations": [ + "@@@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-version:1.8.2---\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/ninja/${platform}\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ ]@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]\\gn\\tools\\gn\\bootstrap\\bootstrap.py", + "--no-rebuild" + ], + "env_prefixes": { + "PATH": [ + "[START_DIR]\\cipd" + ] + }, + "name": "bootstrap" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/linux.json b/infra/recipes/gn.expected/linux.json deleted file mode 100644 index 6631ad0..0000000 --- a/infra/recipes/gn.expected/linux.json +++ /dev/null
@@ -1,16 +0,0 @@ -[ - { - "cmd": [ - "git", - "clone", - "https://gn.googlesource.com/gn", - "[START_DIR]/gn" - ], - "name": "checkout" - }, - { - "name": "$result", - "recipe_result": null, - "status_code": 0 - } -] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/mac.json b/infra/recipes/gn.expected/mac.json deleted file mode 100644 index 6631ad0..0000000 --- a/infra/recipes/gn.expected/mac.json +++ /dev/null
@@ -1,16 +0,0 @@ -[ - { - "cmd": [ - "git", - "clone", - "https://gn.googlesource.com/gn", - "[START_DIR]/gn" - ], - "name": "checkout" - }, - { - "name": "$result", - "recipe_result": null, - "status_code": 0 - } -] \ No newline at end of file
diff --git a/infra/recipes/gn.expected/win.json b/infra/recipes/gn.expected/win.json deleted file mode 100644 index c3438b0..0000000 --- a/infra/recipes/gn.expected/win.json +++ /dev/null
@@ -1,16 +0,0 @@ -[ - { - "cmd": [ - "git", - "clone", - "https://gn.googlesource.com/gn", - "[START_DIR]\\gn" - ], - "name": "checkout" - }, - { - "name": "$result", - "recipe_result": null, - "status_code": 0 - } -] \ No newline at end of file
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py index 7a4224f..c27d851 100644 --- a/infra/recipes/gn.py +++ b/infra/recipes/gn.py
@@ -4,18 +4,73 @@ """Recipe for building GN.""" DEPS = [ + 'recipe_engine/buildbucket', + 'recipe_engine/cipd', + 'recipe_engine/context', 'recipe_engine/path', 'recipe_engine/platform', + 'recipe_engine/properties', + 'recipe_engine/python', 'recipe_engine/step', ] def RunSteps(api): src_dir = api.path['start_dir'].join('gn') - api.step('checkout', - ['git', 'clone', 'https://gn.googlesource.com/gn', src_dir]) + + with api.step.nest('git'), api.context(infra_steps=True): + api.step('init', ['git', 'init', src_dir]) + + with api.context(cwd=src_dir): + build_input = api.buildbucket.build_input + if build_input.gerrit_changes: + for change in build_input.gerrit_changes: + api.step('fetch', [ + 'git', 'fetch', + 'https://%s/gn' % change.host, + 'refs/changes/%s/%s/%s' % + (str(change.change)[-2:], change.change, change.patchset) + ]) + api.step('cherry-pick', ['git', 'cherry-pick', 'FETCH_HEAD']) + else: + ref = ( + build_input.gitiles_commit.id + if build_input.gitiles_commit else 'refs/heads/master') + api.step('fetch', + ['git', 'fetch', 'https://gn.googlesource.com/gn', ref]) + api.step('checkout', ['git', 'checkout', 'FETCH_HEAD']) + + with api.context(infra_steps=True): + cipd_dir = api.path['start_dir'].join('cipd') + packages = { + 'infra/ninja/${platform}': 'version:1.8.2', + } + api.cipd.ensure(cipd_dir, packages) + + with api.context(env_prefixes={'PATH': [cipd_dir]}): + api.python( + 'bootstrap', + src_dir.join('tools', 'gn', 'bootstrap', 'bootstrap.py'), + args=['--no-rebuild']) def GenTests(api): for platform in ('linux', 'mac', 'win'): - yield api.test(platform) + api.platform.name(platform) + yield (api.test('ci_' + platform) + api.platform.name(platform) + + api.properties(buildbucket={ + 'build': { + 'tags': [ + 'buildset:commit/gitiles/gn.googlesource.com/gn/+/' + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + ] + } + })) + yield ( + api.test('cq_' + platform) + api.platform.name(platform) + + api.properties(buildbucket={ + 'build': { + 'tags': [ + 'buildset:patch/gerrit/gn-review.googlesource.com/1000/1', + ] + } + }))