)]}'
{"ops/pipelines/depot.nix":[{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"53d787fc313120bb135e7052d5c3d4bc38c06d33","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"}],"source_content_type":"text/x-nix","patch_set":5,"id":"55e17416_349ed196","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":8},"updated":"2021-08-26 15:52:18.000000000","message":"Instead of skipping the step, could we omit it entirely? That\u0027ll make the buildkite UI a lot cleaner to click around in.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"3a0f359d3cd793bec55886b599d13f4c3bbfda89","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"}],"source_content_type":"text/x-nix","patch_set":5,"id":"9cef3b5f_b3a76edc","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":8},"in_reply_to":"55e17416_349ed196","updated":"2021-08-26 15:53:28.000000000","message":"oh, never mind, just looked at https://buildkite.com/tvl/depot/builds/8076 and I guess this actually does remove it from the UI.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"936a99b05d166f6f5cce8f8a0b9b16719cf44f6c","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"}],"source_content_type":"text/x-nix","patch_set":5,"id":"ff1d5c9a_25b55b16","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":8},"in_reply_to":"9cef3b5f_b3a76edc","updated":"2021-08-26 15:55:47.000000000","message":"Yeah, it means you can toggle the step view and then see a message saying that it was already built.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"b92abeb3aa38d5ad04cc7370929d425f5dfe1392","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"4c61e5ac_2c6421c8","line":55,"updated":"2021-08-26 15:48:38.000000000","message":"I\u0027d also check that we are actually running inside buildkite via some kind of env lookup, since this behavior is probably surprising when building the pipeline locally -- this should be a purpose specific build impurity.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"change_message_id":"53d787fc313120bb135e7052d5c3d4bc38c06d33","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"ad91af2e_05ddedd2","line":55,"in_reply_to":"4c61e5ac_2c6421c8","updated":"2021-08-26 15:52:18.000000000","message":"well, this is just spitting out some JSON that we feed into buildkite, not actually running any builds - and in that case if I\u0027m doing it locally, I\u0027d want to see what *would* be run in buildkite.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"71681d2c1a0efd555cb7b12cb1a32cffb8b91df7","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"e9e4c493_4d82451e","line":55,"in_reply_to":"68474d7a_df7e28bc","updated":"2021-08-26 16:03:24.000000000","message":"I\u0027m not sure what the use-case is for building the pipeline locally, but you could set `BUILDKITE_BRANCH\u003dcanon` to simulate the behaviour without step-skipping and get the pipeline with everything active.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"8cb7fd21e9ee96ebaaa6b200378ee05b8b6ce04c","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"cf21c759_8cee0169","line":55,"in_reply_to":"816b07fa_6590b461","updated":"2021-08-26 16:07:42.000000000","message":"Hm, but an env lookup to determine this would also be impure, right?","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"176fa465fd50a1bd0033ace9d26695c99213c797","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"68474d7a_df7e28bc","line":55,"in_reply_to":"ad91af2e_05ddedd2","updated":"2021-08-26 15:56:12.000000000","message":"But what you build locally has no bearing over what is actually run anyways since the latter depends on the state of whitby\u0027s /nix/store. You\u0027ll likely not have the entirety of depot in your nix store, so doing this with your local /nix/store would be inaccurate anyways.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"936a99b05d166f6f5cce8f8a0b9b16719cf44f6c","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"bfc5c95f_ef37a299","line":55,"in_reply_to":"ad91af2e_05ddedd2","updated":"2021-08-26 15:55:47.000000000","message":"I agree with grfn here.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"55dfa2d4fe786de39f2c9dc379ae2df695ea8331","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"e17e59ea_e185fd51","line":55,"in_reply_to":"cf21c759_8cee0169","updated":"2021-08-26 16:10:25.000000000","message":"The env lookup is more harmless than checking the store contents, I\u0027d say.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"fd69e6993d8bb862096af98390f86eaea343a514","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"6720c946_214dffde","line":55,"in_reply_to":"e17e59ea_e185fd51","updated":"2021-08-26 16:24:58.000000000","message":"Now guarding against `BUILDKITE_BUILD_ID` presence.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"fc0ea3be64507af06ef23100e1e6d6baa3c76b88","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    # Skip build steps if their out path has already been built. Full"},{"line_number":53,"context_line":"    # builds are always run on canon."},{"line_number":54,"context_line":"    skip \u003d let"},{"line_number":55,"context_line":"      shouldSkip \u003d with builtins;"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026"},{"line_number":57,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"},{"line_number":58,"context_line":"      in if shouldSkip then \"Target was already built.\" else false;"}],"source_content_type":"text/x-nix","patch_set":5,"id":"816b07fa_6590b461","line":55,"in_reply_to":"e9e4c493_4d82451e","updated":"2021-08-26 16:06:32.000000000","message":"I guess it doesn\u0027t really matter, but I feel like that you should need to take an active step to make the pipeline impure as opposed to it being impure by default.","commit_id":"6da8cfe55100e22e1e76954e7639e93492f0dd02"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"a3514208e3144c33545b527f15c6747d29e8f0f1","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        # Only skip in real Buildkite builds"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BUILD_ID\" !\u003d \"\") \u0026\u0026"},{"line_number":57,"context_line":"        # Always build everything for the canon branch."},{"line_number":58,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026 # Always"},{"line_number":59,"context_line":"        # Discard string context to avoid realising the store path during"},{"line_number":60,"context_line":"        # pipeline construction."},{"line_number":61,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"}],"source_content_type":"text/x-nix","patch_set":6,"id":"c30dc3ce_04db30a6","line":58,"range":{"start_line":58,"start_character":52,"end_line":58,"end_character":58},"updated":"2021-08-26 16:26:29.000000000","message":"I think this is an editing accident?","commit_id":"a0fea0776b90243a703de12bb2dd39d7fcb26eeb"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"e598c56fae1bd1d8abdcb6e26d76a62a5e4cfe76","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        # Only skip in real Buildkite builds"},{"line_number":56,"context_line":"        (getEnv \"BUILDKITE_BUILD_ID\" !\u003d \"\") \u0026\u0026"},{"line_number":57,"context_line":"        # Always build everything for the canon branch."},{"line_number":58,"context_line":"        (getEnv \"BUILDKITE_BRANCH\" !\u003d \"canon\") \u0026\u0026 # Always"},{"line_number":59,"context_line":"        # Discard string context to avoid realising the store path during"},{"line_number":60,"context_line":"        # pipeline construction."},{"line_number":61,"context_line":"        (pathExists (unsafeDiscardStringContext target.outPath));"}],"source_content_type":"text/x-nix","patch_set":6,"id":"c3979431_920decc1","line":58,"range":{"start_line":58,"start_character":52,"end_line":58,"end_character":58},"in_reply_to":"c30dc3ce_04db30a6","updated":"2021-08-26 16:27:13.000000000","message":"Yep.","commit_id":"a0fea0776b90243a703de12bb2dd39d7fcb26eeb"}]}
