| [ |
| { |
| "cmd": [], |
| "name": "checkout flutter release branch" |
| }, |
| { |
| "cmd": [], |
| "name": "checkout flutter release branch.Checkout flutter/flutter", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", |
| "--path", |
| "[START_DIR]/flutter", |
| "--url", |
| "https://github.com/flutter/flutter" |
| ], |
| "name": "checkout flutter release branch.Checkout flutter/flutter.git setup", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "origin", |
| "flutter-2.8-candidate.9", |
| "--recurse-submodules", |
| "--progress", |
| "--tags" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "env": { |
| "PATH": "RECIPE_REPO[depot_tools]:<PATH>" |
| }, |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.git fetch", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.git checkout", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.read revision", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@", |
| "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.git clean", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "sync" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.submodule sync", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init", |
| "--recursive" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "checkout flutter release branch.Checkout flutter/flutter.submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "checkout engine release branch" |
| }, |
| { |
| "cmd": [], |
| "name": "checkout engine release branch.Checkout flutter/engine", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", |
| "--path", |
| "[START_DIR]/engine", |
| "--url", |
| "https://github.com/flutter/engine" |
| ], |
| "name": "checkout engine release branch.Checkout flutter/engine.git setup", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "fetch", |
| "origin", |
| "flutter-2.8-candidate.9", |
| "--recurse-submodules", |
| "--progress", |
| "--tags" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "env": { |
| "PATH": "RECIPE_REPO[depot_tools]:<PATH>" |
| }, |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.git fetch", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "checkout", |
| "-f", |
| "FETCH_HEAD" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.git checkout", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.read revision", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@", |
| "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "clean", |
| "-f", |
| "-d", |
| "-x" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.git clean", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "sync" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.submodule sync", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "submodule", |
| "update", |
| "--init", |
| "--recursive" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "infra_step": true, |
| "name": "checkout engine release branch.Checkout flutter/engine.submodule update", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "git", |
| "rev-parse", |
| "HEAD" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "infra_step": true, |
| "name": "git rev-parse" |
| }, |
| { |
| "cmd": [ |
| "chmod", |
| "755", |
| "RECIPE[flutter::release/release_publish].resources/push_release.sh" |
| ], |
| "infra_step": true, |
| "name": "Set execute permission" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cloudkms", |
| "-ensure-file", |
| "infra/tools/luci/cloudkms/${platform} latest", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "env": { |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "OS": "darwin", |
| "PUB_CACHE": "[START_DIR]/.pub-cache", |
| "REVISION": "12345abcde12345abcde12345abcde12345abcde", |
| "SDK_CHECKOUT_PATH": "[START_DIR]/flutter" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/flutter/bin", |
| "[START_DIR]/flutter/bin/cache/dart-sdk/bin" |
| ] |
| }, |
| "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-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/cloudkms/resolved-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": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py", |
| "--", |
| "RECIPE_REPO[depot_tools]/gsutil.py", |
| "----", |
| "cp", |
| "gs://flutter_configs/flutter-release-github-token.encrypted", |
| "[CLEANUP]/flutter-release-github-token.encrypted" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "env": { |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "OS": "darwin", |
| "PUB_CACHE": "[START_DIR]/.pub-cache", |
| "REVISION": "12345abcde12345abcde12345abcde12345abcde", |
| "SDK_CHECKOUT_PATH": "[START_DIR]/flutter" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/flutter/bin", |
| "[START_DIR]/flutter/bin/cache/dart-sdk/bin" |
| ] |
| }, |
| "infra_step": true, |
| "name": "gsutil download" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cloudkms/cloudkms", |
| "decrypt", |
| "-input", |
| "[CLEANUP]/flutter-release-github-token.encrypted", |
| "-output", |
| "[CLEANUP]/token.txt", |
| "projects/flutter-infra-staging/locations/global/keyRings/luci/cryptoKeys/flutter-infra" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "env": { |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "OS": "darwin", |
| "PUB_CACHE": "[START_DIR]/.pub-cache", |
| "REVISION": "12345abcde12345abcde12345abcde12345abcde", |
| "SDK_CHECKOUT_PATH": "[START_DIR]/flutter" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/flutter/bin", |
| "[START_DIR]/flutter/bin/cache/dart-sdk/bin" |
| ] |
| }, |
| "name": "cloudkms get key" |
| }, |
| { |
| "cmd": [ |
| "RECIPE[flutter::release/release_publish].resources/push_release.sh" |
| ], |
| "cwd": "[START_DIR]/flutter", |
| "env": { |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "FORCE_FLAG": "--force-with-lease=stable:deadbeef", |
| "GITHUB_USER": "fluttergithubbot", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "OS": "darwin", |
| "PUB_CACHE": "[START_DIR]/.pub-cache", |
| "RELEASE_CHANNEL": "stable", |
| "REL_HASH": "deadbeef", |
| "REPO": "flutter", |
| "REVISION": "12345abcde12345abcde12345abcde12345abcde", |
| "SDK_CHECKOUT_PATH": "[START_DIR]/flutter", |
| "TAG": "1.2.3-4.5.pre", |
| "TOKEN_PATH": "[CLEANUP]/token.txt" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/flutter/bin", |
| "[START_DIR]/flutter/bin/cache/dart-sdk/bin", |
| "[START_DIR]/flutter/bin", |
| "[START_DIR]/flutter/bin/cache/dart-sdk/bin" |
| ] |
| }, |
| "name": "Tag and push release on flutter/flutter" |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/flutter/bin/internal/engine.version", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "read engine hash", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_END@engine.version@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cloudkms", |
| "-ensure-file", |
| "infra/tools/luci/cloudkms/${platform} latest", |
| "-max-threads", |
| "0", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "env": { |
| "ANDROID_HOME": "[START_DIR]/engine/src/third_party/android_tools/sdk", |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "ENGINE_CHECKOUT_PATH": "[START_DIR]/engine", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "LUCI_WORKDIR": "[START_DIR]", |
| "OS": "darwin", |
| "REVISION": "" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/engine/src/third_party/dart/tools/sdks/dart-sdk/bin" |
| ] |
| }, |
| "name": "ensure_installed (2)", |
| "~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-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/cloudkms/resolved-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": [ |
| "python3", |
| "-u", |
| "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py", |
| "--", |
| "RECIPE_REPO[depot_tools]/gsutil.py", |
| "----", |
| "cp", |
| "gs://flutter_configs/flutter-release-github-token.encrypted", |
| "[CLEANUP]/flutter-release-github-token.encrypted" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "env": { |
| "ANDROID_HOME": "[START_DIR]/engine/src/third_party/android_tools/sdk", |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "ENGINE_CHECKOUT_PATH": "[START_DIR]/engine", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "LUCI_WORKDIR": "[START_DIR]", |
| "OS": "darwin", |
| "REVISION": "" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/engine/src/third_party/dart/tools/sdks/dart-sdk/bin" |
| ] |
| }, |
| "infra_step": true, |
| "name": "gsutil download (2)" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cloudkms/cloudkms", |
| "decrypt", |
| "-input", |
| "[CLEANUP]/flutter-release-github-token.encrypted", |
| "-output", |
| "[CLEANUP]/token.txt", |
| "projects/flutter-infra-staging/locations/global/keyRings/luci/cryptoKeys/flutter-infra" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "env": { |
| "ANDROID_HOME": "[START_DIR]/engine/src/third_party/android_tools/sdk", |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "ENGINE_CHECKOUT_PATH": "[START_DIR]/engine", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "LUCI_WORKDIR": "[START_DIR]", |
| "OS": "darwin", |
| "REVISION": "" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/engine/src/third_party/dart/tools/sdks/dart-sdk/bin" |
| ] |
| }, |
| "name": "cloudkms get key (2)" |
| }, |
| { |
| "cmd": [ |
| "RECIPE[flutter::release/release_publish].resources/push_release.sh" |
| ], |
| "cwd": "[START_DIR]/engine", |
| "env": { |
| "ANDROID_HOME": "[START_DIR]/engine/src/third_party/android_tools/sdk", |
| "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", |
| "ENGINE_CHECKOUT_PATH": "[START_DIR]/engine", |
| "FORCE_FLAG": "--force-with-lease=stable:", |
| "GITHUB_USER": "fluttergithubbot", |
| "GIT_BRANCH": "flutter-2.8-candidate.9", |
| "LUCI_BRANCH": "", |
| "LUCI_CI": "True", |
| "LUCI_PR": "", |
| "LUCI_WORKDIR": "[START_DIR]", |
| "OS": "darwin", |
| "RELEASE_CHANNEL": "stable", |
| "REL_HASH": "", |
| "REPO": "engine", |
| "REVISION": "", |
| "TAG": "1.2.3-4.5.pre", |
| "TOKEN_PATH": "[CLEANUP]/token.txt" |
| }, |
| "env_prefixes": { |
| "PATH": [ |
| "[START_DIR]/engine/src/third_party/dart/tools/sdks/dart-sdk/bin", |
| "[START_DIR]/engine/src/third_party/dart/tools/sdks/dart-sdk/bin" |
| ] |
| }, |
| "name": "Tag and push release on flutter/engine" |
| }, |
| { |
| "name": "$result" |
| } |
| ] |