)]}'
{"id":"depot~10850","triplet_id":"depot~canon~Idd2e88a865eadabe229ce1e05406e8cc4cb63f94","project":"depot","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000034":{"account":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"last_update":"2024-03-07 15:39:56.000000000","reason":"Change was submitted"},"1000001":{"account":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"last_update":"2024-03-07 15:39:50.000000000","reason":"removed on reply"},"1000038":{"account":{"_account_id":1000038,"name":"ezemtsov","email":"eugene.zemtsov@gmail.com","username":"ezemtsov"},"last_update":"2024-03-07 15:39:56.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Idd2e88a865eadabe229ce1e05406e8cc4cb63f94","subject":"feat(buildkite): avoid building extraSteps in pipeline construction","status":"MERGED","created":"2024-02-13 17:51:56.000000000","updated":"2024-03-07 15:39:56.000000000","submitted":"2024-03-07 15:39:56.000000000","submitter":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"10850","meta_rev_id":"d66f2ad747e29a1ea4483405f27282764d943b95","_number":10850,"virtual_id_number":10850,"owner":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2024-03-07 15:39:56.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2024-03-07 15:39:56.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2024-03-07 15:39:56.000000000","_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[{"_account_id":1000038,"name":"ezemtsov","email":"eugene.zemtsov@gmail.com","username":"ezemtsov"}],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"_account_id":1000038,"name":"ezemtsov","email":"eugene.zemtsov@gmail.com","username":"ezemtsov"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-02-13 17:51:59.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2024-02-13 17:59:51.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2024-02-13 18:48:07.000000000","updated_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"reviewer":{"_account_id":1000038,"name":"ezemtsov","email":"eugene.zemtsov@gmail.com","username":"ezemtsov"},"state":"REVIEWER"},{"updated":"2024-02-13 18:48:07.000000000","updated_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"reviewer":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"state":"REVIEWER"},{"updated":"2024-03-07 15:39:56.000000000","updated_by":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"3600f8f79c21e83a3e4679ae326437a516ef96ff","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 17:51:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3e96ab257b87397c3ce0e7a8e394f7c073f81f2d","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 17:51:59.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/31438","accounts_in_message":[],"_revision_number":1},{"id":"057d75cece0fcf2841782048d738ab3f8240e84e","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 17:59:51.000000000","message":"Patch Set 1: Verified-1\n\nBuild of patchset 1 failed: https://buildkite.com/tvl/depot/builds/31438","accounts_in_message":[],"_revision_number":1},{"id":"b549763a24944bad0dce14e3021107f63c473ae1","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:05:27.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"01c5148b9eba87f3ab55fde7f6e8c02e171e64f7","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:05:28.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/tvl/depot/builds/31440","accounts_in_message":[],"_revision_number":2},{"id":"93401b57cb0b1095468bbb17455a05d69be8d886","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:12:05.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"1d5c6e633fdf2652cbb8953d2e6007f3d0747bb8","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:12:07.000000000","message":"Patch Set 3:\n\nStarted build for patchset #3 on: https://buildkite.com/tvl/depot/builds/31441","accounts_in_message":[],"_revision_number":3},{"id":"88a077f1c4d75469cf6804d761113d30e58fae64","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:17:30.000000000","message":"Patch Set 3: Verified-1\n\nBuild of patchset 3 failed: https://buildkite.com/tvl/depot/builds/31441","accounts_in_message":[],"_revision_number":3},{"id":"09390de9ab31a6ff92f007feb1be6f3fafa27036","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:24:18.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":4},{"id":"a3f6b3948d6a786cf9c766648f559b496ac46057","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:24:20.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/tvl/depot/builds/31442","accounts_in_message":[],"_revision_number":4},{"id":"85a8210a9c0453ccd60d1268fae6a6ce40d12ec6","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:29:31.000000000","message":"Patch Set 4: Verified+1\n\nBuild of patchset 4 passed: https://buildkite.com/tvl/depot/builds/31442","accounts_in_message":[],"_revision_number":4},{"id":"fffe7220980b22a42386a9c8acac87a0c708bdd7","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:47:53.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":5},{"id":"79296795102f7411eb5eab886e5ba7c091c3a5d6","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:47:53.000000000","message":"Patch Set 5:\n\nStarted build for patchset #5 on: https://buildkite.com/tvl/depot/builds/31446","accounts_in_message":[],"_revision_number":5},{"id":"c5fd30922c5d74f38e9b8e371e3f243ee49fa522","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:48:07.000000000","message":"Patch Set 5: Autosubmit+1\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":5},{"id":"e6bfa6b956579260b70ad9a4292192fc1ba6be73","tag":"autogenerated:gerrit:code-owners:addReviewer","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-02-13 18:48:07.000000000","message":"\u003cGERRIT_ACCOUNT_1000001\u003e, who was added as reviewer owns the following files:\n* `nix/buildkite/default.nix`\n","accounts_in_message":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}],"_revision_number":5},{"id":"5d308f254273d7949789333d5caff2cdbffb29b9","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-13 18:51:41.000000000","message":"Patch Set 5: Verified+1\n\nBuild of patchset 5 passed: https://buildkite.com/tvl/depot/builds/31446","accounts_in_message":[],"_revision_number":5},{"id":"58726ea1389e0cc6d8ecde099f97ef6727c81804","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-02 09:27:45.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":6},{"id":"7ad453a35dc6defde3c283b05b378d2c2f9d079f","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-02 09:27:56.000000000","message":"Patch Set 6:\n\nStarted build for patchset #6 on: https://buildkite.com/tvl/depot/builds/31946","accounts_in_message":[],"_revision_number":6},{"id":"cb1e594195c85a0a651363e712087e1fa892a7de","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-02 09:30:38.000000000","message":"Patch Set 6: Verified+1\n\nBuild of patchset 6 passed: https://buildkite.com/tvl/depot/builds/31946","accounts_in_message":[],"_revision_number":6},{"id":"4ea276678a33e0966099fa3fd38d734b7774192e","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2024-03-02 23:03:23.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"abb2273156ed28ddf11793ab9a722bb606001534","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-02 23:30:35.000000000","message":"Patch Set 7: Patch Set 6 was rebased\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":7},{"id":"90de9f6435b48bb3688877e17d847d4ad12d9731","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-02 23:30:41.000000000","message":"Patch Set 7:\n\nStarted build for patchset #7 on: https://buildkite.com/tvl/depot/builds/31963","accounts_in_message":[],"_revision_number":7},{"id":"60901b3faeb46e8bbacc5181e5e412b3948866aa","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-02 23:33:21.000000000","message":"Patch Set 7: Verified+1\n\nBuild of patchset 7 passed: https://buildkite.com/tvl/depot/builds/31963","accounts_in_message":[],"_revision_number":7},{"id":"7a2f3d3da498c8fce73c6342752b5caa9a907450","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-02 23:38:56.000000000","message":"Patch Set 7: Autosubmit+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"b1a0025f8c9b40086fdb667443d66eaedb787a71","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-02 23:39:43.000000000","message":"Uploaded patch set 8: Commit message was updated.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Verified+1 (copy condition: \"(**is:ANY** AND **changekind:NO_CODE_CHANGE**) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":8},{"id":"c03ff48ade37b58fd656e1ece4174ec3b8c386de","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2024-03-03 09:03:50.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"36f1ba13327fd0fcde1949209491051e522813c9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-03 15:13:22.000000000","message":"Uploaded patch set 9.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":9},{"id":"d625d3155f310fea9a62effae735f1ef91749c28","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-03 15:13:27.000000000","message":"Patch Set 9:\n\nStarted build for patchset #9 on: https://buildkite.com/tvl/depot/builds/31995","accounts_in_message":[],"_revision_number":9},{"id":"9c3e26df2a4535dca80ea4d24c36ac3d75ac446d","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-03 15:14:25.000000000","message":"Patch Set 8: Autosubmit+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"59234b02fb5e67ed92f28826218895521d9fe8d2","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-03-03 15:16:10.000000000","message":"Patch Set 9: Verified+1\n\nBuild of patchset 9 passed: https://buildkite.com/tvl/depot/builds/31995","accounts_in_message":[],"_revision_number":9},{"id":"55c131075af9d8a088a76f07433aca426694b1fe","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2024-03-03 15:19:11.000000000","message":"Patch Set 9: Autosubmit+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":9},{"id":"88f75364ff37689c61f2cf01a6da0fd415b74617","author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"date":"2024-03-07 15:39:50.000000000","message":"Patch Set 9: Code-Review+2","accounts_in_message":[],"_revision_number":9},{"id":"d66f2ad747e29a1ea4483405f27282764d943b95","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"date":"2024-03-07 15:39:56.000000000","message":"Change has been successfully rebased and submitted as 16a7c4a1be61ff8c66dbf73f2291b64a71ab8f7a","accounts_in_message":[],"_revision_number":10}],"current_revision_number":10,"current_revision":"16a7c4a1be61ff8c66dbf73f2291b64a71ab8f7a","revisions":{"a956ecf6e9226af76b317956d9aed4b81cfa266a":{"kind":"REWORK","_number":1,"created":"2024-02-13 17:51:56.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/1"}}},"commit":{"parents":[{"commit":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","subject":"test change","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d6d4cc56cf26e3da142bdb5c242d161bbeb8277ad"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"subject":"feat(nix/buildkite): avoid building extraSteps in pipeline eval","message":"feat(nix/buildkite): avoid building extraSteps in pipeline eval\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and only build the script proper when the extra step is executed.\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003da956ecf6e9226af76b317956d9aed4b81cfa266a"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003da956ecf6e9226af76b317956d9aed4b81cfa266a"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","is_merged_in_target_branch":false,"change_id":"Iaf8d7c718871568bed0e39a5060c6c2e09ab66cb","change_number":5062,"patch_set_number":6,"change_status":"ABANDONED"}],"branch":"refs/heads/canon"},"0b6cd487483c7a49fdbdcd910ba885c16882b8d3":{"kind":"REWORK","_number":2,"created":"2024-02-13 18:05:27.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/2"}}},"commit":{"parents":[{"commit":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","subject":"test change","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d6d4cc56cf26e3da142bdb5c242d161bbeb8277ad"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 18:04:09.000000000","tz":60},"subject":"feat(nix/buildkite): avoid building extraSteps in pipeline eval","message":"feat(nix/buildkite): avoid building extraSteps in pipeline eval\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and only build the script proper when the extra step is executed.\n\nFor this to work, we need to change mkBuildCommand so that it doesn\u0027t\n(potentially) print two paths (symlink printed by nix-store(1) and the\nstore path it points to), but only the store path.\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0b6cd487483c7a49fdbdcd910ba885c16882b8d3"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0b6cd487483c7a49fdbdcd910ba885c16882b8d3"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","is_merged_in_target_branch":false,"change_id":"Iaf8d7c718871568bed0e39a5060c6c2e09ab66cb","change_number":5062,"patch_set_number":6,"change_status":"ABANDONED"}],"branch":"refs/heads/canon"},"11452dde4a12cf9faa97c634a998eff8bd1a5f87":{"kind":"REWORK","_number":3,"created":"2024-02-13 18:12:05.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/3"}}},"commit":{"parents":[{"commit":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","subject":"test change","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d6d4cc56cf26e3da142bdb5c242d161bbeb8277ad"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 18:11:57.000000000","tz":60},"subject":"feat(nix/buildkite): avoid building extraSteps in pipeline eval","message":"feat(nix/buildkite): avoid building extraSteps in pipeline eval\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and only build the script proper when the extra step is executed.\n\nFor this to work, we need to change mkBuildCommand so that it doesn\u0027t\n(potentially) print two paths (symlink printed by nix-store(1) and the\nstore path it points to), but only the store path.\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d11452dde4a12cf9faa97c634a998eff8bd1a5f87"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d11452dde4a12cf9faa97c634a998eff8bd1a5f87"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","is_merged_in_target_branch":false,"change_id":"Iaf8d7c718871568bed0e39a5060c6c2e09ab66cb","change_number":5062,"patch_set_number":6,"change_status":"ABANDONED"}],"branch":"refs/heads/canon"},"64ccc2af148b2337e38b3f4b57c974ea43a22cde":{"kind":"REWORK","_number":4,"created":"2024-02-13 18:24:18.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/4","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/4","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/4"}}},"commit":{"parents":[{"commit":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","subject":"test change","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d6d4cc56cf26e3da142bdb5c242d161bbeb8277ad"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 18:24:08.000000000","tz":60},"subject":"feat(nix/buildkite): avoid building extraSteps in pipeline eval","message":"feat(nix/buildkite): avoid building extraSteps in pipeline eval\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and only build the script proper when the extra step is executed.\n\nFor this to work, we need to change mkBuildCommand so that it doesn\u0027t\n(potentially) print two paths (symlink printed by nix-store(1) and the\nstore path it points to), but only the store path.\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d64ccc2af148b2337e38b3f4b57c974ea43a22cde"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d64ccc2af148b2337e38b3f4b57c974ea43a22cde"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"6d4cc56cf26e3da142bdb5c242d161bbeb8277ad","is_merged_in_target_branch":false,"change_id":"Iaf8d7c718871568bed0e39a5060c6c2e09ab66cb","change_number":5062,"patch_set_number":6,"change_status":"ABANDONED"}],"branch":"refs/heads/canon"},"039ded429b06407011855fb5f1bfd4cf39d7da71":{"kind":"REWORK","_number":5,"created":"2024-02-13 18:47:53.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/5","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/5","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/5"}}},"commit":{"parents":[{"commit":"0a4a777ebcbf9a68b58385fd9f5a043ef8b7c533","subject":"refactor(nix/buildkite): unify target attr path calculation","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0a4a777ebcbf9a68b58385fd9f5a043ef8b7c533"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 18:47:49.000000000","tz":60},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d039ded429b06407011855fb5f1bfd4cf39d7da71"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d039ded429b06407011855fb5f1bfd4cf39d7da71"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"0a4a777ebcbf9a68b58385fd9f5a043ef8b7c533","is_merged_in_target_branch":false,"change_id":"I50f9687e85c3b4407e4a55ff7e645db882bb80d6","change_number":10849,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"4f2a7527ac4eb92918c744e341d016ab2938a0d8":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2024-03-02 09:27:45.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/6","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/6","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/6"}}},"commit":{"parents":[{"commit":"a4219865765c3e2a88e5551fc6e9ab16f40efac0","subject":"refactor(nix/buildkite): unify target attr path calculation","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003da4219865765c3e2a88e5551fc6e9ab16f40efac0"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-03-02 09:17:52.000000000","tz":60},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4f2a7527ac4eb92918c744e341d016ab2938a0d8"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4f2a7527ac4eb92918c744e341d016ab2938a0d8"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"a4219865765c3e2a88e5551fc6e9ab16f40efac0","is_merged_in_target_branch":false,"change_id":"I50f9687e85c3b4407e4a55ff7e645db882bb80d6","change_number":10849,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"0e9f43d91741a794e7b37c4ad9abd8a66f857e78":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2024-03-02 23:30:35.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/7","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/7","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/7"}}},"commit":{"parents":[{"commit":"ddcaf88c928c9a4d012592f09fb31c0579d90837","subject":"refactor(nix/buildkite): unify target attr path calculation","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dddcaf88c928c9a4d012592f09fb31c0579d90837"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-03-02 23:30:35.000000000","tz":0},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which specifically allows prevents the\nparent target of an extraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0e9f43d91741a794e7b37c4ad9abd8a66f857e78"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0e9f43d91741a794e7b37c4ad9abd8a66f857e78"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"ddcaf88c928c9a4d012592f09fb31c0579d90837","is_merged_in_target_branch":false,"change_id":"I50f9687e85c3b4407e4a55ff7e645db882bb80d6","change_number":10849,"patch_set_number":4,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"},"f219cf0b05b7899687b5507928a1d78089395312":{"kind":"NO_CODE_CHANGE","_number":8,"created":"2024-03-02 23:39:43.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/8","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/8","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/8"}}},"commit":{"parents":[{"commit":"47082713e85d1f208e9460fe69bc31852d5248c7","subject":"refactor(nix/buildkite): unify target attr path calculation","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d47082713e85d1f208e9460fe69bc31852d5248c7"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-03-02 23:39:37.000000000","tz":60},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which prevents the parent target of an\nextraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003df219cf0b05b7899687b5507928a1d78089395312"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003df219cf0b05b7899687b5507928a1d78089395312"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"47082713e85d1f208e9460fe69bc31852d5248c7","is_merged_in_target_branch":false,"change_id":"I50f9687e85c3b4407e4a55ff7e645db882bb80d6","change_number":10849,"patch_set_number":5,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"68f89287e04190e45248e718dcddbb6ce27262e5":{"kind":"REWORK","_number":9,"created":"2024-03-03 15:13:22.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/50/10850/9","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/9","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/9"}}},"commit":{"parents":[{"commit":"1608f935aad2696f38231ef779bffc1f5ac31fec","subject":"refactor(nix/buildkite): unify target attr path calculation","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d1608f935aad2696f38231ef779bffc1f5ac31fec"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-03-03 15:13:16.000000000","tz":60},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which prevents the parent target of an\nextraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d68f89287e04190e45248e718dcddbb6ce27262e5"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d68f89287e04190e45248e718dcddbb6ce27262e5"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"1608f935aad2696f38231ef779bffc1f5ac31fec","is_merged_in_target_branch":true,"change_id":"I50f9687e85c3b4407e4a55ff7e645db882bb80d6","change_number":10849,"patch_set_number":6,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"16a7c4a1be61ff8c66dbf73f2291b64a71ab8f7a":{"kind":"REWORK","_number":10,"created":"2024-03-07 15:39:56.000000000","uploader":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"ref":"refs/changes/50/10850/10","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/50/10850/10","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/50/10850/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/50/10850/10"}}},"commit":{"parents":[{"commit":"08862432cd1c5aeb1d9939885af1fba5c931060a","subject":"chore(3p/rust-crates:libgit2-sys): 0.12.26+1.3.0 -\u003e 0.16.1+1.7.1","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d08862432cd1c5aeb1d9939885af1fba5c931060a"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2024-02-13 17:35:38.000000000","tz":60},"committer":{"name":"clbot","email":"clbot@tvl.fyi","date":"2024-03-07 15:39:56.000000000","tz":0},"subject":"feat(buildkite): avoid building extraSteps in pipeline construction","message":"feat(buildkite): avoid building extraSteps in pipeline construction\n\nIn principle we don\u0027t want to build any (later) pipeline target during\npipeline evaluation insofar they appear in extraSteps. For this reason,\nwe have the needsOutput mechanism which prevents the parent target of an\nextraStep from being built in 🦙.\n\nUnfortunately, this mechanism is not general purpose enough, as we use\nother (i.e. non parent) targets from depot in extraSteps. As a\nconsequence, kind of expensive builds need to happen during pipeline\nconstruction at the moment. The solution is to use the fact that the\ncommand script we want to run is exposed via the readTree interface to\ndepot and build the script proper only when the extra step is executed.\n\nTo facilitate this, some prerequisite changes need to be made:\n\n- We need to use a symlink different to result in case needsOutput is\n  true which needs support in mkBuildCommand. We also need to avoid this\n  symlink being picked up by git, as many extra steps check whether the\n  tree is dirty or not. (Is there a way to have it outside the depot\n  tree?)\n\n- Since we rely on the build command printing a single store path we\n  store in $command_script, we need to avoid it printing two paths\n  in cases where nix-store(1) is used (nix-store(1) prints the symlink\n  and readlink(1) would print the store path in a separate line).\n\nFuture work would be to remove/deprecate the needsOutput mechanism:\nAfter this change the parent target wouldn\u0027t be built right away even if\nit appeared in the script via string interpolation. Thus we could,\ninstead of expecting the target being available as `./result`, make our\nextra steps nix-ier.\n\nChange-Id: Idd2e88a865eadabe229ce1e05406e8cc4cb63f94\nReviewed-on: https://cl.tvl.fyi/c/depot/+/10850\nReviewed-by: tazjin \u003ctazjin@tvl.su\u003e\nAutosubmit: sterni \u003csternenseemann@systemli.org\u003e\nTested-by: BuildkiteCI\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d16a7c4a1be61ff8c66dbf73f2291b64a71ab8f7a"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d16a7c4a1be61ff8c66dbf73f2291b64a71ab8f7a"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"08862432cd1c5aeb1d9939885af1fba5c931060a","is_merged_in_target_branch":true,"change_id":"I1d9059a16a44b5e02d04f034c8f02bbfdc55b6ac","change_number":10845,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~PrologRule","status":"CLOSED","labels":[{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dgerrit~PrologRule"],"failing_atoms":[]}}]}
