{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":716742870,"defaultBranch":"main","name":"rules_multitool","ownerLogin":"theoremlp","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-09T19:24:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/84351796?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713450688.0","currentOid":""},"activityList":{"items":[{"before":"075e354be2797eaa3bda0d50ad75c74d24cc6b6b","after":null,"ref":"refs/heads/me/update-docs","pushedAt":"2024-04-18T14:31:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"}},{"before":"60a5472b629b3d36267496191a81b4029b366554","after":"2a852562f4fed7b805b451b4d53fa267d406dbe2","ref":"refs/heads/main","pushedAt":"2024-04-18T14:31:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Add docs about how to update multitool's lockfile (#31)\n\nWe've added a companion CLI called (creatively) `multitool`, that\r\nsupports updating GitHub release based artifacts. In practice this is\r\nmost of the artifacts we end up working with, and adding support for\r\nother, limited artifact sources seems tractable.\r\n\r\nIn an ideal world, we'll ultimately teach Renovate how to run updates to\r\nour lockfile. However, looking at [Renovate's support for\r\nBazel](https://github.com/renovatebot/renovate/blob/d6d1e57763ffefa04767a4d01b028b1d39f27188/lib/modules/manager/bazel/index.ts#L17-L22)\r\nartifact updates: Renovate will update GitHub releases, GitHub tags, Go\r\ndatasources, and docker datasources. This is relatively limited, and our\r\nread is that GitHub releases covers the bulk of the artifacts one\r\nexpects to encounter.\r\n\r\nAdditionally, we'd like to make it easy to add new tools and more\r\ngenerally to manage the lockfile, and plan to add `add`, `remove`, and\r\n`lint` commands to our CLI down the road. We think that'll be useful\r\neven if we had full Renovate support.\r\n\r\nIn addition to describing that the CLI exists, this PR includes sample\r\nGitHub Actions to use within one's repo. Publicly, one can see the\r\ndownload-and-execute example in\r\n[rules_uv](https://github.com/theoremlp/rules_uv/blob/main/.github/workflows/periodic-update-multitool.yml).\r\n\r\nPartial solution to #28.","shortMessageHtmlLink":"Add docs about how to update multitool's lockfile (#31)"}},{"before":null,"after":"075e354be2797eaa3bda0d50ad75c74d24cc6b6b","ref":"refs/heads/me/update-docs","pushedAt":"2024-04-17T21:02:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Add docs about how to update multitool's lockfile","shortMessageHtmlLink":"Add docs about how to update multitool's lockfile"}},{"before":"6d0487b7c763ff17a7df4a893253cd486a667379","after":"60a5472b629b3d36267496191a81b4029b366554","ref":"refs/heads/main","pushedAt":"2024-04-16T01:23:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Use exec to run cwd target (#30)","shortMessageHtmlLink":"Use exec to run cwd target (#30)"}},{"before":"c8cc716120eae74caf7b94e3b74e5fbe3316b4d0","after":null,"ref":"refs/heads/me/exec","pushedAt":"2024-04-16T01:23:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"}},{"before":"d7a772e2c0c9a4b81b18abf3e8340598c7effcf5","after":"c8cc716120eae74caf7b94e3b74e5fbe3316b4d0","ref":"refs/heads/me/exec","pushedAt":"2024-04-16T01:21:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"simplify further","shortMessageHtmlLink":"simplify further"}},{"before":null,"after":"d7a772e2c0c9a4b81b18abf3e8340598c7effcf5","ref":"refs/heads/me/exec","pushedAt":"2024-04-16T01:19:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Use exec to run cwd target","shortMessageHtmlLink":"Use exec to run cwd target"}},{"before":"6e8a0a376596a7b9449882862b0a2a25326e98a5","after":null,"ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T01:07:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"}},{"before":"9a0e53e6d1542cf11e6213e7121cfc19a363ec34","after":"6d0487b7c763ff17a7df4a893253cd486a667379","ref":"refs/heads/main","pushedAt":"2024-04-16T01:07:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Add convenience target for running in the current working directory (#29)\n\nIt's common for users of multitool to want to run tools in the current working directory. In #26, @alexeagle documented a technique we've used for a while with creating a script and symlinking to it. Our internal copy of this script is a bit more complicated to help avoid expensive calls to Bazel that simple `bazel run` calls don't really need. More refinements have been proposed in #27. All of these things are fundamentally workarounds for https://github.com/bazelbuild/bazel/issues/3325.\r\n\r\nTo help simplify things, this PR adds a convenience wrapper that captures the execpath, switches to $BUILD_WORKING_DIRECTORY, and then runs the desired tool. The resulting shell script gets to use a very simple `bazel run`, should be compatible across any slew of Bazel options, and cache as well as any typical run target.","shortMessageHtmlLink":"Add convenience target for running in the current working directory (#29"}},{"before":"bb434165b55a462279d1789a42ddc75aeba8cebe","after":"6e8a0a376596a7b9449882862b0a2a25326e98a5","ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T01:05:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"further simplify","shortMessageHtmlLink":"further simplify"}},{"before":"56a5f651654cb2f67eec843020f527072c159f26","after":"bb434165b55a462279d1789a42ddc75aeba8cebe","ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T01:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"shorter name","shortMessageHtmlLink":"shorter name"}},{"before":"67d75af2ba1ae4184f9931e4563540bde6f39c55","after":"56a5f651654cb2f67eec843020f527072c159f26","ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T00:59:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"more, tests","shortMessageHtmlLink":"more, tests"}},{"before":"56eea0e8d4f5871aeb94836b3b6e750d21cbdba4","after":"67d75af2ba1ae4184f9931e4563540bde6f39c55","ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T00:53:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"template","shortMessageHtmlLink":"template"}},{"before":null,"after":"56eea0e8d4f5871aeb94836b3b6e750d21cbdba4","ref":"refs/heads/me/cwd","pushedAt":"2024-04-16T00:42:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Add convenience target for running in the current working directory","shortMessageHtmlLink":"Add convenience target for running in the current working directory"}},{"before":"4efd146ad5dbeba2e925af501d7f32a2acf94682","after":"9a0e53e6d1542cf11e6213e7121cfc19a363ec34","ref":"refs/heads/main","pushedAt":"2024-04-03T00:36:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Document how to run tools on the command line (#26)","shortMessageHtmlLink":"Document how to run tools on the command line (#26)"}},{"before":"3a6fdf47f99682772501650762cf488732309239","after":null,"ref":"refs/heads/mark-thm-patch-1","pushedAt":"2024-03-28T01:04:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"}},{"before":"724c28a5b749af468438674203172b3a5b0869ac","after":"4efd146ad5dbeba2e925af501d7f32a2acf94682","ref":"refs/heads/main","pushedAt":"2024-03-28T01:04:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Fix release automation script (#25)","shortMessageHtmlLink":"Fix release automation script (#25)"}},{"before":null,"after":"3a6fdf47f99682772501650762cf488732309239","ref":"refs/heads/mark-thm-patch-1","pushedAt":"2024-03-28T01:03:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Fix release automation script","shortMessageHtmlLink":"Fix release automation script"}},{"before":"55c422be8c63e5bcf96495eb23dac386a47bd09f","after":null,"ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T21:23:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"}},{"before":"81842f6aa8501d656204409f8cc9149841b18072","after":"724c28a5b749af468438674203172b3a5b0869ac","ref":"refs/heads/main","pushedAt":"2024-03-21T21:23:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"Improve schema, support 'type', prep for 'headers' (breaking for WORKSPACE) (#23)\n\nImprove the schema to specify a union over the binary kinds with more pedantic definitions. Add keyword args for `type` on archive binary kind and `headers` on all binary kinds when Bazel version is >= 7.1.0.\r\n\r\nNote: this includes a breaking change for WORKSPACE users and requires loading bazel_features ahead of rules_multitool. Richer instructions for WORKSPACE usage will now be available in the release notes.","shortMessageHtmlLink":"Improve schema, support 'type', prep for 'headers' (breaking for WORK…"}},{"before":"1cb6b314a9e82f1de5b7ff2bdecfdce35837cba4","after":"55c422be8c63e5bcf96495eb23dac386a47bd09f","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:40:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"readme","shortMessageHtmlLink":"readme"}},{"before":"2a1bf26af584bd277e5053192effce32d710359c","after":"1cb6b314a9e82f1de5b7ff2bdecfdce35837cba4","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:38:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"just a bit more cleanup","shortMessageHtmlLink":"just a bit more cleanup"}},{"before":"e6b20d51bbbad51c6a8068daac49b873ae52f096","after":"2a1bf26af584bd277e5053192effce32d710359c","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:30:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"more","shortMessageHtmlLink":"more"}},{"before":"c7f299eae24bde2b16cf1fa538ee3a25b777138f","after":"e6b20d51bbbad51c6a8068daac49b873ae52f096","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:27:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"docs","shortMessageHtmlLink":"docs"}},{"before":"c780577fc4340c819527d6cab1a37f47dd31d5a2","after":"c7f299eae24bde2b16cf1fa538ee3a25b777138f","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:25:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"readme","shortMessageHtmlLink":"readme"}},{"before":"bed0c9ab8e7c16fa17fe1075855a8fa6812ad5e5","after":"c780577fc4340c819527d6cab1a37f47dd31d5a2","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:24:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"more workspace cleanup","shortMessageHtmlLink":"more workspace cleanup"}},{"before":"e7d580d3ce5fce4c67b9ffac2648494f6f583e6f","after":"bed0c9ab8e7c16fa17fe1075855a8fa6812ad5e5","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:11:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"linebreak","shortMessageHtmlLink":"linebreak"}},{"before":"617eeeb9b54913adbc5610cce4ecc9c42d7acc49","after":"e7d580d3ce5fce4c67b9ffac2648494f6f583e6f","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T17:11:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"WORKSPACE related cleanup","shortMessageHtmlLink":"WORKSPACE related cleanup"}},{"before":"cec82bd378b1a0d1f99888fe9e117f54691ce81b","after":"617eeeb9b54913adbc5610cce4ecc9c42d7acc49","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T16:22:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"more","shortMessageHtmlLink":"more"}},{"before":"329312bd8f21228c2d48f17e18373766a49e36b2","after":"cec82bd378b1a0d1f99888fe9e117f54691ce81b","ref":"refs/heads/me/schema-improvements","pushedAt":"2024-03-21T16:20:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mark-thm","name":"Mark Elliot","path":"/mark-thm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/123787712?s=80&v=4"},"commit":{"message":"use bazel_features to key functionality","shortMessageHtmlLink":"use bazel_features to key functionality"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEND8FGQA","startCursor":null,"endCursor":null}},"title":"Activity · theoremlp/rules_multitool"}