blob: b47d0ea1e49777c350e589d7dc0fead28c998ad3 [file] [log] [blame]
[
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"cp",
"gs://dart-archive/channels/beta/release/2.17.0-69.1.beta/api-docs/dartdocs-gen-api.zip",
"[CLEANUP]/dartdocs-gen-api.zip"
],
"infra_step": true,
"name": "gsutil download dartdocs-gen-api.zip"
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"cp",
"gs://dart-archive/channels/beta/release/2.17.0-69.1.beta/api-docs/dartdocs-gen-api.zip.intoto.jsonl",
"[CLEANUP]/dartdocs-gen-api.zip.intoto.jsonl"
],
"infra_step": true,
"name": "gsutil download dartdocs-gen-api.zip provenance"
},
{
"cmd": [
"luci-auth",
"token",
"-scopes",
"https://www.googleapis.com/auth/bcid_verify https://www.googleapis.com/auth/cloud-platform",
"-lifetime",
"3m"
],
"infra_step": true,
"name": "get access token for default account"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"file_hash",
"[CLEANUP]/dartdocs-gen-api.zip"
],
"infra_step": true,
"name": "Compute file hash",
"~followup_annotations": [
"@@@STEP_TEXT@Hash calculated: 6dba06aaac636739d8e0fbc213589b47569a6d40cb424ffec6b424d09b7e8e49@@@"
]
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/dartdocs-gen-api.zip.intoto.jsonl",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read dartdocs-gen-api.zip provenance",
"~followup_annotations": [
"@@@STEP_LOG_END@dartdocs-gen-api.zip.intoto.jsonl@@@"
]
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"Authorization: Bearer extra.secret.token.should.not.be.logged\n",
"[CLEANUP]/authorization"
],
"infra_step": true,
"name": "write authorization"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"{\"resourceToVerify\": \"misc_software://dart/apidocs\", \"artifactInfo\": {\"digests\": {\"sha256\": \"6dba06aaac636739d8e0fbc213589b47569a6d40cb424ffec6b424d09b7e8e49\"}, \"attestations\": [\"\"]}}",
"[CLEANUP]/request"
],
"infra_step": true,
"name": "write request",
"~followup_annotations": [
"@@@STEP_LOG_LINE@request@{\"resourceToVerify\": \"misc_software://dart/apidocs\", \"artifactInfo\": {\"digests\": {\"sha256\": \"6dba06aaac636739d8e0fbc213589b47569a6d40cb424ffec6b424d09b7e8e49\"}, \"attestations\": [\"\"]}}@@@",
"@@@STEP_LOG_END@request@@@"
]
},
{
"cmd": [
"curl",
"-H",
"@[CLEANUP]/authorization",
"-H",
"Content-Type: application/json",
"-d",
"@[CLEANUP]/request",
"https://bcidsoftwareverifier-pa.googleapis.com/v1/software-artifact-verification-requests"
],
"name": "verify dartdocs-gen-api.zip provenance",
"~followup_annotations": [
"@@@STEP_LOG_LINE@raw_io.output_text@{\"allowed\": true,\"verificationSummary\":\"{\\\"payload\\\": \\\"\\\"}\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@"
]
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"remove",
"[CLEANUP]/authorization"
],
"infra_step": true,
"name": "delete authorization"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"remove",
"[CLEANUP]/request"
],
"infra_step": true,
"name": "delete request"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::archive]/resources/extract.py",
"--json-input",
"{\"archive_file\": \"[CLEANUP]/dartdocs-gen-api.zip\", \"include_files\": [], \"output\": \"[CLEANUP]\", \"safe_mode\": true}",
"--json-output",
"/path/to/tmp/json"
],
"name": "extract dartdocs-gen-api.zip",
"~followup_annotations": [
"@@@STEP_TEXT@<br/>extracted 1337 files - 50159.75 MB@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
"@@@STEP_LOG_LINE@json.output@ \"extracted\": {@@@",
"@@@STEP_LOG_LINE@json.output@ \"bytes\": 50159747054,@@@",
"@@@STEP_LOG_LINE@json.output@ \"filecount\": 1337@@@",
"@@@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",
"----",
"-m",
"cp",
"-r",
"[CLEANUP]/gen-dartdocs",
"gs://dartlang-api-docs/gen-dartdocs/beta/2.17.0-69.1.beta"
],
"infra_step": true,
"name": "gsutil publish dartdocs to gs://dartlang-api-docs/gen-dartdocs/beta/2.17.0-69.1.beta"
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"-m",
"cp",
"-r",
"[CLEANUP]/gen-dartdocs",
"gs://dart-api-documentation/beta/2.17.0-69.1.beta"
],
"infra_step": true,
"name": "gsutil publish dartdocs to gs://dart-api-documentation/beta/2.17.0-69.1.beta"
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"-m",
"cp",
"-r",
"[CLEANUP]/gen-dartdocs",
"gs://dart-api-documentation/beta/latest"
],
"infra_step": true,
"name": "gsutil publish dartdocs to gs://dart-api-documentation/beta/latest"
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"ls",
"gs://dartlang-api-docs/channels/beta/latest.txt"
],
"infra_step": true,
"name": "gsutil check for beta dartdoc latest.txt"
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"cp",
"gs://dartlang-api-docs/channels/beta/latest.txt",
"[CLEANUP]/latest.txt"
],
"infra_step": true,
"name": "gsutil download latest.txt"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/latest.txt",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read latest.txt",
"~followup_annotations": [
"@@@STEP_LOG_LINE@latest.txt@2.17.0-69.1.beta@@@",
"@@@STEP_LOG_END@latest.txt@@@"
]
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"2.17.0-69.1.beta",
"[CLEANUP]/latest.txt"
],
"infra_step": true,
"name": "write dartdoc latest.txt",
"~followup_annotations": [
"@@@STEP_LOG_LINE@latest.txt@2.17.0-69.1.beta@@@",
"@@@STEP_LOG_END@latest.txt@@@"
]
},
{
"cmd": [
"python3",
"-u",
"RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
"--",
"RECIPE_REPO[depot_tools]/gsutil.py",
"----",
"cp",
"[CLEANUP]/latest.txt",
"gs://dartlang-api-docs/channels/beta/latest.txt"
],
"infra_step": true,
"name": "gsutil upload dartdocs latest.txt"
},
{
"cmd": [
"vpython3",
"-u",
"RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
"--url",
"https://api.dart.dev/docs/releases/latest/?force_reload=true",
"--status-json",
"/path/to/tmp/json",
"--outfile",
"/path/to/tmp/"
],
"name": "reload api.dart.dev"
},
{
"name": "$result"
}
]