)]}'
{
  "log": [
    {
      "commit": "07e6905d472157754a536564046a23654960de45",
      "tree": "38a5f334ae805515623a871cd7cf18ee16077cea",
      "parents": [
        "e6c0c329809eeca1c800eeec44a5599a0cf45f6b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 16:34:15 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "treewide: add product info to OCI OS images\n\nAdd the product info to the OCI OS image config.\n\nChange-Id: I70c572f2698c8d8bb0edc0ba969d8c6b37ae4c00\nReviewed-on: https://review.monogon.dev/c/monogon/+/4193\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e6c0c329809eeca1c800eeec44a5599a0cf45f6b",
      "tree": "35ccb939eb9b0de15abd0d30da4b4eb260f3e4b6",
      "parents": [
        "e342086c9d71e3eb38c0a159e559ab4de0033492"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 16:14:25 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "treewide: build product info\n\nThis change adds the type definition and generator for product info,\nwhich will be added to the OCI OS image to provide information about the\ncontents.\n\nHere is an example product info:\n\n{\n\t\"id\": \"metropolis-node\",\n\t\"name\": \"Metropolis Node\",\n\t\"version\": \"0.1.0-dev1059\",\n\t\"variant\": \"x86_64-race\",\n\t\"commit_hash\": \"56248c1c1d5039bdf3c1043ade88f3f158ceb52b\",\n\t\"commit_date\": \"2025-05-08T18:26:46+00:00\",\n\t\"build_tree_dirty\": true,\n\t\"components\": [\n\t\t{\"id\": \"linux\", \"version\": \"6.12.15\"},\n\t\t{\"id\": \"kubernetes\", \"version\": \"1.32.0\"}\n\t]\n}\n\nThe product info has the same inputs and a similar purpose as the\nos-release file, so they are both generated by the same build action.\n\nChange-Id: I89d453f2d72ac9df49e404f46381cd594534f800\nReviewed-on: https://review.monogon.dev/c/monogon/+/4192\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "6df40aaf96ec4bcd5567b448109ec0a73cc5b2c8",
      "tree": "d412bad375fa031b3663aefe1b3364f0547734b4",
      "parents": [
        "163525e321a41724b1e457315c5003603957b3c6"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 15:35:44 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "t/linux: use toolchain and platforms\n\nThis allows us to do builds for different platforms consistent with how\nBazel does them. Also uses our own LLVM toolchain instead of the\n\"ambient\" GCC. As bzImages only exist for x86, rename everything to\nImage which is the cross-platform name. For us this is fine as we use\nthe PE entry point which exists for all of these.\n\nBinary path generation is a hack as not all of the ones Linux needs are\nactually available in the rules-based toolchain and we need a special\ncalling convention to work around a bug in LLVM when compiling assembly\nwith preprocessor macros.\n\nChange-Id: I8ed8fa7c1514b9ffbfaedf235e32250e4af40aa4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4215\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "163525e321a41724b1e457315c5003603957b3c6",
      "tree": "80d85c9fe0f4904696f49bffd704063e6671de17",
      "parents": [
        "6ff6b45b266b0ef0768d5172769ba1d725b10124"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 15:30:14 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "o/build/mkpayload: port to llvm-objcopy\n\nGNU and LLVM objcopy have some material differences in how they work.\nLLVM is able to automatically assign VMAs, but needs --set-section-flags\nfor it. Use that and drop all the explicit VMAs.\nAlso with the new toolchain cc.objcopy_excutable is not populated, so we\nneed to get the executable path using the new action-based way.\n\nCurrently contains a hack to force static on to get our custom toolchain\nfor both host and cross-builds as GNU objcopy is not compatible.\n\nChange-Id: I0a5ef1cbeb3f94326a2cef099c23c046df166bdd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4214\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "043c0b4c1a89078eafe4c8faefa78ccbadf3a233",
      "tree": "9c2f5c9059b6df4730918bdedb7d617685fbf836",
      "parents": [
        "b21bdf9e01a4211cc0b8f91fc7beb113a9ed86c3"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 13 21:09:36 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 05 17:02:25 2025 +0000"
      },
      "message": "treewide: migrate to toolchain_cc\n\nThis contains the first part of the toolchain_cc migration. It leaves\nthe native host GCC, but everything that we ship is now built with\ntoolchain_cc with the exception of Linux which gets migrated later in\nthis stack.\n\nChange-Id: Icb3422857fd3baf0ff61b7edd5754517f6a73dfc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4012\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "091b8a67214aef628ed9e00f279e9bcd12c0fcbe",
      "tree": "74eeae3973ae280853e7cff9220d9eaf04683443",
      "parents": [
        "69b7687c6a755ea017974c7318409970c2822e91"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 13 09:07:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 19 14:38:19 2025 +0000"
      },
      "message": "osbase/build/mkimage/osimage: remove initial slash in EFI paths\n\nMany places where these paths are used don\u0027t need the initial slash, and\nit\u0027s easier to add it than to remove it.\n\nChange-Id: Iec189628556c9aa1c022fdd46a2c9fe57692e0aa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4194\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "549b1d3549b05b589d697a53ce2e663f9d87f8e3",
      "tree": "d44418d8d60abfaac5bcfa23bfe7e68c62375efd",
      "parents": [
        "3cebdfd8929e83d79b1048295775786f2661153a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 09:51:04 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 15:20:19 2025 +0000"
      },
      "message": "osbase/build: fix unused config transition\n\nThe race and pure configs are only changed by command line flags, not by\ntransitions. This means that they should not be included in the\nignore_unused_configuration to avoid unnecessary rebuilds.\n\nI previously added the race config here, but that was because of a\nmisunderstanding: The ST-hash in the output path is not a hash of the\nconfiguration, but of the diff of the configuration against the\nbaseline. The baseline includes all the flags set on the command line.\nThis is controlled by --experimental_output_directory_naming_scheme\nwhich defaults to diff_against_dynamic_baseline.\n\nWhat this means is that changing a flag on the command line does not\nchange the hash of the diff, so it does not rebuild actions which don\u0027t\nuse the flag. But if you then try to reset the config in a transition,\nthe configs are the same but the diff hashes are not, resulting in\nunnecessary rebuilds.\n\nChange-Id: Ibfe8581e0a5c64ccd0d75a0f7c85c7d7b6d46abd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4191\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "51c6748c2158d7dbc1ec79ada63a5e68a27f8533",
      "tree": "0e14029e3c73d4130b388904aba3237a7224f157",
      "parents": [
        "230a31aec7de7270e5a89a81443f69f9525ad4db"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 13:11:55 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "treewide: implement basic aarch64 support\n\nThis adds aarch64 platforms, and some fixes for aarch64 support. This is\nnot yet complete; e.g. toolchains for aarch64 targets are still missing.\n\nI renamed the amd64 platforms to x86_64 and efi to uefi for consistency\nwith @platforms.\n\nsyscall.Dup2 does not exist on arm64, but unix.Dup2 does.\n\nChange-Id: I3ab081b2b852945b723ec83768f79000b8c4def4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4173\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "230a31aec7de7270e5a89a81443f69f9525ad4db",
      "tree": "bf5fffb68a6cccf4d47505173e036f047979614e",
      "parents": [
        "a81e2a66cf2160d4782d06c4278cbd8a85145f6a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 12:28:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "build: switch to build settings for static build\n\nThis switches the way to select static linking for C builds from a\nconstraint_setting to a build_setting. The benefit of this is that the\ntransition to static linking no longer depends on the architecture,\nbecause this setting is not part of the platform anymore.\n\nThe alternative would be to select the matching static platform based on\nthe architecture in the transition implementation. However, I did not\nfind a good way to obtain the architecture in a transition\nimplementation. You can access the platform through the settings\nparameter, but it\u0027s not clear how to extract the architecture from that.\nSomething that would work is to define an attribute for the architecture\non the rule where the transition is used, and fill this attribute using\na select() at the point where the rule is instantiated. But this\nrequires changes to all rules which use the transition, which is ugly.\n\nChange-Id: I8962e24b561b8d1724bac785cb3739cdc434d47e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4172\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "219c2c68a75f0de70d6cbaf5f6be55d5bf32378f",
      "tree": "fd1040c7e82e6a4243b72ed50f5e8b7e30a88bf3",
      "parents": [
        "778cc33e311ab1578b3e1447c10b7d40612a774e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 08:14:25 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "build/toolchain/protobuf: fix duplicate protoc build\n\nWe were building way too many copies of protoc. Many of these are due to\na bug in rules_go when --incompatible_enable_proto_toolchain_resolution\nis enabled, but not all, so we should do this anyway, and then the bug\nin rules_go is no longer relevant.\n\nBefore:\nbazel cquery \"deps(//...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (e5c4511)\n@protobuf//:protoc (40d0309)\n@protobuf//:protoc (3bbe29a)\n@protobuf//:protoc (070fbf5)\n@protobuf//:protoc (ee343a7)\n@protobuf//:protoc (c3e4ff6)\n\nAfter:\nbazel cquery \"deps(//... except //build/toolchain/protobuf/...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (ee343a7)\n\nChange-Id: I6a826b7bc01453284982204aea808f8f2902d84c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4164\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "778cc33e311ab1578b3e1447c10b7d40612a774e",
      "tree": "78e166c6522ab612967f0cf9cde7d4318808873e",
      "parents": [
        "1b6cd6feb2ea0ee9940e59ec787803dae0071b22"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 16:31:40 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "m/n/c/abloader: fix duplicate build\n\nPreviously, the abloader was built twice with different\n@io_bazel_rules_go//go/config:static setting.\n\nChange-Id: I41ebac22613b895fe85f14367bdf0f31c817cafe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4163\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1b6cd6feb2ea0ee9940e59ec787803dae0071b22",
      "tree": "8fd33a9dd8da12a7524bb24fceef24350663d603",
      "parents": [
        "8ffa54e80544005e0f779c681a8c9dfc6afecfa7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 15:30:22 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "treewide: replace platform_transition_binary\n\nplatform_transition_binary changes the platform, but does not set\n@io_bazel_rules_go//go/config:static. Instead, build_static_transition\nis now used, which sets both.\n\nA second benefit of this change is that we have fewer places where the\namd64 architecture is mentioned, which should make it easier to enable\nmulti-platform builds.\n\nChange-Id: Id01e0d942a12770b8b34b0e6825f314128149b40\nReviewed-on: https://review.monogon.dev/c/monogon/+/4162\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "8ffa54e80544005e0f779c681a8c9dfc6afecfa7",
      "tree": "526e5805d5ea05fb34d79daf00b8d6b13b28d4ce",
      "parents": [
        "0fd36f458729a67e4daf68a430ce3a79428a05e9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 11:33:39 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "osbase/build: ignore race setting in kernel build\n\nThis makes the kernel config the same between builds with and without\nrace. This should speed up CI when the kernel needs building.\n\nBefore:\nbazel cquery \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (b7a4847)\n\nAfter:\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\n\nChange-Id: Idf9d9503c07053cc34edfe855fb7042d28655683\nReviewed-on: https://review.monogon.dev/c/monogon/+/4159\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0fd36f458729a67e4daf68a430ce3a79428a05e9",
      "tree": "dae4bd858448b6a72daeab0cbeb177da802aff11",
      "parents": [
        "7c38e7845bad04db14031741e879e887e2f571b5"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 10:26:03 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "treewide: enable pure Go by default\n\nPure can be safely enabled by default. For those targets which need cgo,\nwe can set `pure \u003d \"off\"` on the go_binary or go_test.\n\nThis simplifies transitions, and makes the files/files_cc distinction\nobsolete.\n\nChange-Id: Ic1a985e7d347a7222f55735c1ee2016e8a7e1c65\nReviewed-on: https://review.monogon.dev/c/monogon/+/4158\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "82900a743f1eebcb80c0a310563be149691b89a7",
      "tree": "637ba1a2e3aae6504af52d3646b175854c64ef7e",
      "parents": [
        "c53a9fc39866a12580bc2ef904349efc76d30a76"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:11:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "osbase/build/mkoci: add package\n\nThis adds the mkoci package, which contains a Bazel rule for building OS\nimage OCI artifacts.\n\nChange-Id: I1a234238c4982078db8ecea684e5491c980b97c3\nReviewed-on: https://review.monogon.dev/c/monogon/+/4088\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "08054caeaa6bd5a7008357b628073118da4dc865",
      "tree": "09a59c5437fcab0a25012d5ab64f2829476d5be4",
      "parents": [
        "7ea9ef105600a845445523033d5745bb654d3000"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Apr 04 01:11:56 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 29 00:04:11 2025 +0000"
      },
      "message": "osbase/build: migrate ignore_unused_configuration transition\n\nWe will use it for other external builds, so lets move it there\nfor easier reuse.\n\nChange-Id: Ib15e299068a34f94e47add115d309f659701b36a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4083\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c1b6df499c0e03d8d65b6570c2dcddb908752f7a",
      "tree": "17d045c8f96dd2d77aef785653ac1f937142c714",
      "parents": [
        "e4c48544e908e78efdb00c8c507c251be26c4ab9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 20 08:52:18 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/fat32: adopt structfs\n\nChange the external interface of the FAT32 writer to take a\nstructfs.Tree instead of a FAT32-specific data structure. Producers of\nfile system data are no longer specific to FAT32.\n\nWith these changes, the blkio package becomes obsolete. The\nLazyFileReader did not actually work as intended when used with\nosbase/fat32, because fat32 copies data with io.CopyN and thus stops\nreading before reaching EOF, so the LazyFileReader is never closed. The\nnew Blob interface requires the consumer to explicitly Open and Close.\n\nChange-Id: I9a71a5f0bddf36ac38c656659e6dcfe520b88fb0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4037\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ad4d9545ac74b43c3f442627b507d45f7eec3b3f",
      "tree": "932ce4ce4788f60232222d8dc2770eaa466a9529",
      "parents": [
        "ae2f9a36c74ae1e15d5ccd472dd2417fca86aaf4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 20:20:13 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 25 13:01:09 2025 +0000"
      },
      "message": "osbase/build/fsspec: change order of arguments\n\nWe should always use the key as target path, as that\u0027s unique.\n\nChange-Id: I09085448efda67cb6d1c0470fa15e4282b38e0d5\nReviewed-on: https://review.monogon.dev/c/monogon/+/4035\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "bed76d97e58becd2aa314a6132c9968efabc16b5",
      "tree": "d9e862bcddf77a913e8bdd3bb361f2fbcd949be5",
      "parents": [
        "8eb0244ed3653b6bcb80a29acb4f9e6b66a272f4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 18 03:04:14 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 21:36:11 2025 +0000"
      },
      "message": "osbase/build: move efi.bzl, split and move def.bzl to their corresponding action\n\nThis is a small reorganization to make the osbase/build less dependent on each other.\n\nChange-Id: I8c12f04f3bdc98128c5424f142f452c2e094f2e8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3903\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0edf66c5e42b4cff2a1a95316c1737ac7a0be7f9",
      "tree": "f7c894cb45552b9018c07a23a6e429089c9ebc53",
      "parents": [
        "16cb15ab5aa2fc0193a1534e65ba2e527e3e8f56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:48:23 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "osbase/build/kconfig-patcher: replace to_json with json.encode\n\nto_json isn\u0027t available in Bazel 8\n\nChange-Id: Ic00091d2e1ea3b6acf1f712ed3653dc9d0c167f1\nReviewed-on: https://review.monogon.dev/c/monogon/+/3940\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "24bf6fdd43f3abb5a96d3081753fbdcc6bd3c1de",
      "tree": "f1d31a396adfe2489659ac0743a3e173d44c2a4c",
      "parents": [
        "632049b3e6ffda1039ef569ec2c234a7eadceae4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Feb 12 04:48:24 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 17 13:53:17 2025 +0000"
      },
      "message": "osbase/build: replace label_keyed_string_dict with string_keyed_label_dict\n\nBefore bazel 7.4 the string_keyed_label_dict attribute type wasn\u0027t available. fsspec_core_impl was using a label_keyed_string_dict which is structurally wrong but there was no alternative for it. This replaces that usage.\n\nChange-Id: I36c02c84e6aa2557cd2beb09c07d3ceca501553d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3853\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6d33a4342a16200d628f30ff91b169927fc2867a",
      "tree": "e65ad23cb6d0b795420b5ec625a757784d4c3e3b",
      "parents": [
        "7887f758de8f9106a484ca59d9734304aa919e36"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 14:34:25 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 17:03:43 2025 +0000"
      },
      "message": "treewide: add license header and enable haslicense linter\n\nChange-Id: I873a8d4082d75e8f813d8a726a41187eea7a065e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3825\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "b69a71ca61b99fc68e83d5735eb449f638ef8b1e",
      "tree": "69aa2c20e8002355ca7657523b617923b2243e39",
      "parents": [
        "8f1254d1919c7cda42c611c9e1d83cf9a2ef8034"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Dec 23 14:12:46 2024 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 03 14:05:23 2025 +0000"
      },
      "message": "o/t/ktest: switch to proper rule\n\nThis was previously implemented as a macro, lacking proper transitions.\nReimplement it as a proper test rule.\n\nChange-Id: I237a2fcc29ea6dfbb294ce6313c9ff457def12b8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3722\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f4d38759600c2f308c4d4c79cfd9b4215d56b34a",
      "tree": "ea31800f2baa3bd6a6db28ca6d106abdf103058c",
      "parents": [
        "3eb7d033642ebaaddccde287d5ad3c8c59f7a576"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jan 22 21:59:59 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 28 15:44:58 2025 +0000"
      },
      "message": "treewide: Unmark ENUM_ZERO_VALUE_SUFFIX rule exception as todo\n\nWe don\u0027t really have a policy for these, they are chosen arbitrarily.\n\nChange-Id: I705ad309c2a36d794665de2482441858850a1893\nReviewed-on: https://review.monogon.dev/c/monogon/+/3805\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a10d0cb2c85c0ede60be6cc6d2dc7a66750ddecb",
      "tree": "540bc92832ea12cc8427c0bcd785498dfcc30119",
      "parents": [
        "f408e8123a3919a27d51983973a1bd41eaac1162"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jan 13 14:44:15 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 23 20:14:58 2025 +0000"
      },
      "message": "treewide: Fix ENUM_VALUE_PREFIX rule exception\n\nChange-Id: Ibc2fd66711f6aa347e88e2379c12db1898373700\nReviewed-on: https://review.monogon.dev/c/monogon/+/3804\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2f9f624dee572823d0ead529c1507bb3605d9ae5",
      "tree": "29977f8a39336929d45189a119bc7e4bf82c4bf5",
      "parents": [
        "3b62407486d2c1fe7cd24a5f38e86fb19d1e2fa3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jan 11 08:25:54 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 23 19:05:38 2025 +0000"
      },
      "message": "treewide: Fix PACKAGE_DIRECTORY_MATCH rule exception\n\nChange-Id: I8c4061f8d147a4708167b0674abfa23784a7f40d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3801\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "3b62407486d2c1fe7cd24a5f38e86fb19d1e2fa3",
      "tree": "bfe8bbebd74234a135aa48bb72d071097120c487",
      "parents": [
        "15c46ccb52bc2544d35eee9a80b3c2fb5c0756e2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jan 11 07:16:35 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 23 19:05:38 2025 +0000"
      },
      "message": "treewide: add buf_proto_lint_test to all proto_library targets\n\nChange-Id: Iaf6dc22fdbef6fcfd0bedff755bcdb06b56a6631\nReviewed-on: https://review.monogon.dev/c/monogon/+/3800\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "156248b949f3da7c8d0f4f46cb97ac7606464952",
      "tree": "ff52faf242a29f1916edad64bca6282f8030ee66",
      "parents": [
        "227c5cbbdd8f682b6e4d4cc661fa0d6e734206f2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 10 00:27:45 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 10 20:13:30 2025 +0000"
      },
      "message": "treewide: format repo with buildifier\n\nChange-Id: Ia7aebeb7bba5b119c9157d1ad805cc477bcbb68a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3774\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "3a171d123fff540c8c9d646152a5d5ed9ef873de",
      "tree": "62fe245a0182c3ba931d8c33278f2dd89c35e77b",
      "parents": [
        "0996ea85ca6200e1729941d316f7891835871938"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 09 23:51:23 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 09 21:19:31 2025 +0000"
      },
      "message": "treewide: add race-detector config\n\nThis also disables all `pure \u003d \"on\"` attributes as they propagate too\nfar and break the race detector because rules_go contradicts itself by\nforcing pure go even when CGO is required by the race detector. We build\neverything for our node images static and pure via a transition anyway,\nso this is actually fine.\n\nChange-Id: I5cd3879fba4258caa94df4dbea5c6472867b7e34\nReviewed-on: https://review.monogon.dev/c/monogon/+/3725\nTested-by: Jenkins CI\nReviewed-by: Hendrik Hofstadt \u003chendrik@monogon.tech\u003e\n"
    },
    {
      "commit": "8e19fa4edcb992d8c486b420debb6d63f8777d97",
      "tree": "ed19daa5f7ddf6376658e6d4e04754aeaca83a00",
      "parents": [
        "5178dd76472906d541fe08c643633499708c67de"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Nov 12 13:39:43 2024 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 07 17:00:42 2025 +0000"
      },
      "message": "metropolis/node/core/bios_bootcode: Add legacy bootcode\n\nThis change provides a legacy bootcode that shows the user that they\nare using an invalid configuration, e.g. not use UEFI. This can be\ntested with \"qemu-system-i386 -hda bazel-bin/metropolis/node/image.img\".\n\nCloses monogon-dev/monogon#142\n\nChange-Id: I3337a70125010aec110ad75647346310cac76d37\nReviewed-on: https://review.monogon.dev/c/monogon/+/3748\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "83f0aa47b5e9c02cc6871760fcac29b31b344c48",
      "tree": "a3f923ef7db47733008c92d2d2a7fc0d24b32ec8",
      "parents": [
        "b62b8e04eb6f2f6ebc54ecc397ded788a924f279"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 09 20:34:33 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Dec 17 23:06:51 2024 +0000"
      },
      "message": "osbase/build: update progress messages to contain output short_name\n\nChange-Id: Id41a05a7b8f5cec6e50d9c74ee09309d1a4b504f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3691\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "affe8fa229e3a701e060cb6bc35b9362814b5daf",
      "tree": "63c91aa39676df52139f5c0df6023feff1ab0def",
      "parents": [
        "e49c273818f88cc4ff2fd9fcb8bb8272b70f1beb"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 02 17:53:24 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Dec 03 14:31:57 2024 +0000"
      },
      "message": "osbase/build: remove redundant platform_transition_binary rule\n\nWe have the aspect library in our dependencies anyway,\nso there is no point in copying this.\n\nChange-Id: I160a13a90dd45a0495670bd453a3aa0a16cfb771\nReviewed-on: https://review.monogon.dev/c/monogon/+/3674\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "272c8301e0db375689dbc5bee6134b91cc23188d",
      "tree": "31c97490efe77ff7b571402f51b776af2d601b97",
      "parents": [
        "b701df98b1706751142f29bee032321447886267"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Nov 05 05:17:44 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Nov 06 16:47:06 2024 +0000"
      },
      "message": "osbase/build/mkimage: replace embedsrc abloader reference with argument\n\nrules_rust things that our abloader target itself is an exec target\nbecause it is included as embedsrc inside mkimage. To prevent this wrong\ndetection we provide it as runfile like the kernel and rootfs. This is\na preparation for updating rust to the current stable version, as it\nrequires specific overrides to work correctly with our efi toolchain.\n\nChange-Id: I78de6a15570a81d9f673702ec4e50954d604117d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3598\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "2db687330d6c907bf31006730bdd161cd34cddaa",
      "tree": "996bd64c955d1d383cd2bddb296d41437186a82f",
      "parents": [
        "492434add0746eef043e5e5acc106035ccec4358"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Oct 30 18:25:33 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Oct 31 14:48:23 2024 +0000"
      },
      "message": "osbase/build/genosrelease: Add trailing newline to os-release\n\nText files should end with a newline.\n\nChange-Id: I14f06359959a41d3a49ecfb3923cb5e509020310\nReviewed-on: https://review.monogon.dev/c/monogon/+/3592\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1f51cf42fcd4d7bb7f4b103c797c438bfa7b0098",
      "tree": "8baeed7e76e82440e9217ea7055d04af0ba14435",
      "parents": [
        "39f4f5c360e7a286bff4adaeabc52393dc28dc22"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Oct 01 17:04:28 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Oct 31 14:09:31 2024 +0000"
      },
      "message": "treewide: update rules_rust to v0.53.0\n\nThis updated our patches for rules_rust, removes a transition as it can\nbe replaced with the \"platform\" field in the rust_binary rule. This then\nallows us to correctly reference it in all targets that depend on it.\nAdditionally the -target parameter is replaced inside the llvm-efi\ntoolchain with --target\u003d.\n\nChange-Id: Ie98753e505736c9ef28ff92fa1c5aa5b3612aec3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3473\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c2290c2e21ee5615d341d56799516829c2fea540",
      "tree": "fdbf849c7e459508b844c7aff2a33e79f4c1b12e",
      "parents": [
        "be0b4c9158371b29c21badc5702ee50ed8179935"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Aug 15 19:56:00 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 20 13:03:42 2024 +0000"
      },
      "message": "treewide: move build helper to more fitting places\n\nChange-Id: I3d0cfe9283222d403ae369ec9db09201ad511e15\nReviewed-on: https://review.monogon.dev/c/monogon/+/3327\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    }
  ]
}
