)]}'
{
  "log": [
    {
      "commit": "c4c89601ff800c421caea620d7c183c3c616bb46",
      "tree": "305a1f1044aaaa7f0d4fb1e9e40ff81003aca131",
      "parents": [
        "83e86df1b58c6ff0a982c1241a83d240b878fef6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 17:00:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 20:50:20 2025 +0000"
      },
      "message": "treewide: remove host_cc_toolchain, add static flags to linux platforms\n\nWith rules_rust now being able to build with our toolchain and sysroot,\nwe can finally get rid of the host_cc_toolchain.\n\nChange-Id: Ic63bc34ff94d152a9c2d8a01a6036255da5e14cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4397\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "590239d455014624c8e27abfd0c8cf92ec14eb67",
      "tree": "c9849c26bc8280428ab3e8cd30591408e845377b",
      "parents": [
        "8bb5dfa3f09433a84d8bdf3bbc8768969776e160"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 17:35:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: configure rules_perl to our toolchain\n\nIn a future commit we will introduce openssl, which needs perl to\ngenerate asm code.\n\nChange-Id: I282c340c698ed339fb409514a9b09ffdf3475c34\nReviewed-on: https://review.monogon.dev/c/monogon/+/4096\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "98000a51baafc40f861bd17d8a333b65035df21c",
      "tree": "b6f7c11992b9c61d522c60a86b342a377ee160f2",
      "parents": [
        "a5a817009be47049d7302dd0c1ec08f13c1fe4a7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 06 14:22:15 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:10 2025 +0000"
      },
      "message": "third_party/nix: introduce toolchain bundle\n\nThis introduces a nix derivation that builds a musl amd64/aarch64\ntoolchain sysroot.\n\nChange-Id: Iba082edb8fd1f2ab580020bb1c7339a76487f3c8\nReviewed-on: https://review.monogon.dev/c/monogon/+/4006\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "d4817496c23ab0b39b94ffc5a47ba63be0cf23ed",
      "tree": "b21338c9e3adbd055c72fd5000b7c9f1a9799d10",
      "parents": [
        "2caadc7b37bca50bb50d74fd1f181c8e77915f38"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 16 15:03:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 18 12:34:13 2025 +0000"
      },
      "message": "treewide: bump dependencies\n\nChange-Id: Ibe397cb7eb2f2c591cb1affa5272616197a6c31c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4281\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\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": "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": "a81e2a66cf2160d4782d06c4278cbd8a85145f6a",
      "tree": "cbc40ee9305ddfce108a1e2eb292820ca87ed166",
      "parents": [
        "df588d069ca78101325c1e6860ec226209c10c31"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 12:02:24 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "treewide: exclude flags from exec config\n\nThis enables the --experimental_exclude_starlark_flags_from_exec_config\nflag, which disables propagation of config settings across exec\ntransitions. This way, only one copy of protoc is built, without needing\na custom toolchain which ignores the settings.\n\nSee https://github.com/bazelbuild/bazel/issues/22457 for discussion\nabout this flag. Apparently, Google has enabled the flag internally.\n\nChange-Id: I750af589563ec40c59599a555bebe1a986d04d4a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4171\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\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": "b8500fb0d7463f8fd629148fd0760ece2a4e7102",
      "tree": "a24ad2e9d425d59e89451f88288a6ea7db91855e",
      "parents": [
        "173c4124be37a158c7a8e4cafdab1696d05b6e69"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 15:57:52 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 09:00:33 2025 +0000"
      },
      "message": "build/rust: move to build/toolchain/rust-efi\n\nChange-Id: I57362142bb77bb9e09b51140f2c5a0ee4b6f597d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4031\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "16cb15ab5aa2fc0193a1534e65ba2e527e3e8f56",
      "tree": "0d04d148f5127884b12f73b9bc6f83804c65d4cd",
      "parents": [
        "7b1e4c1e89ba5507dd029984a29739b3d43f6846"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 24 18:47:48 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 25 14:23:22 2025 +0000"
      },
      "message": "treewide: explicity load built-in rules\n\nIn Bazel 9 all autoloaded rules will be disabled. This prepares us for\nthat.\n\nChange-Id: Ibaa4fa2e6b7095922a5699d2d5f3ae6c2cba3552\nReviewed-on: https://review.monogon.dev/c/monogon/+/3939\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": "70e5a977302e5ce90c94488b7da0d55894dea3ec",
      "tree": "fc21c3671818973eb60f5e31ff753a86592f7ff0",
      "parents": [
        "5b38443b6ef6337db8d4ed12d7d2dc59c0a079da"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 13:19:20 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 23 13:11:29 2024 +0000"
      },
      "message": "build/toolchain/musl-host-gcc: add pie feature, disabled by default\n\nThis isn\u0027t enabled anywhere, but we should enable it for all of our\nbinaries.\n\nChange-Id: I77dc163a7085c792c0b0d64e6423e9117b596ec4\nReviewed-on: https://review.monogon.dev/c/monogon/+/1838\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5b38443b6ef6337db8d4ed12d7d2dc59c0a079da",
      "tree": "b0a97ea2c180aec385b71bbf8c8cd4185d927943",
      "parents": [
        "3c6183f7f12ded0c563239c7eff1f1dc4a9bebec"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 13:17:30 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 23 13:11:29 2024 +0000"
      },
      "message": "third_party/musl: build PIE/PIC static library\n\nThis allows us to then build static-pie binaries.\n\nChange-Id: Ied5c34da85608df0c1b56aec321b9eec367a9615\nReviewed-on: https://review.monogon.dev/c/monogon/+/1837\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\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": "0de92127b6b247c4e2a816a84a1ff045a603ca73",
      "tree": "438e9666ad45536f95bd85c54556ee58d428adff",
      "parents": [
        "a512b0e03b370ea86b383212863d81b6d9677f3a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Sep 24 06:37:30 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Oct 08 21:00:39 2024 +0000"
      },
      "message": "treewide: replace static mentions of repo name with dynamic ones\n\nThis does change the CONFIG_QEMU_FIRMWAREPATH to \"/nonexistant\", but\nsince we are using OVMF everywhere anyway this should behave the same.\n\nCloses monogon-dev/monogon#343\n\nChange-Id: I865e5ba5e62579c3ff1f31a25e46cbcb78dba688\nReviewed-on: https://review.monogon.dev/c/monogon/+/3450\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e1420ab79117be4c97818fa708f62fea3ff6d265",
      "tree": "e358545afc0d5510d3da8dee2fbed03355e87c3e",
      "parents": [
        "ca6da6adf2fa3b88c743c9d7f88ef9cfea4e0823"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 27 01:53:16 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Sep 10 12:10:01 2024 +0000"
      },
      "message": "treewide: migrate more to bzlmod\n\nThis does migrate nearly everything to bzlmod and away from the \"old\"\nWORKSPACE system. We do have to use some workarounds and there is no\ngood way to get the path to a repository. This definitively requires\nsome more love in future CLs but this should cover the basics. See\nmonogon-dev/monogon#343 for more information.\n\nChange-Id: I0e188d8708b66fcdbdf0adc9143c93160e3395ae\nReviewed-on: https://review.monogon.dev/c/monogon/+/3357\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f69d84b0f2b8b363f42ed6a3c09523b75d002f94",
      "tree": "e5100a108b5f2a77c2f80cd267611305709659e1",
      "parents": [
        "44fdf7fee72fd7f0e179974f6245edc31620a7ae"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 03 20:32:19 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 12 12:45:32 2024 +0000"
      },
      "message": "treewide: update sandboxroot to fedora 40, nix to 24.05\n\nWe didn\u0027t bump our sandboxroot in a long time, this updates it to fedora\n 40\n and updates the nix shell to nixpkgs-24.05. It also bumps rules_oci to\n the current version.\n\nChange-Id: I9ffb6f4dcd1a95be48b52015df987824dbb169f6\nReviewed-on: https://review.monogon.dev/c/monogon/+/3205\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "dc1230a18056dcfe901550fd912b690e1bb1867b",
      "tree": "1b68ee2e6ebdfaf5e11a45fd9b1bd494a8956235",
      "parents": [
        "dae21ce4f8794257c46a32ca3e67b6fc52d9c791"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 11 11:29:41 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jan 21 13:52:43 2024 +0000"
      },
      "message": "build/toolchain/musl-host-gcc: regenerate musl sysroot\n\nCloses monogon-dev/monogon#179\n\nChange-Id: I77b8e2a05f0e8874f711519aab256e294d7bd963\nReviewed-on: https://review.monogon.dev/c/monogon/+/2699\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "4f00f90934c3eb969b1490582b8194d8706a3e81",
      "tree": "341594cd4a4768c155777032f04c7f8558723d30",
      "parents": [
        "7f14f91765c6b32a95aac5d2b40a25bba1eae695"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Dec 19 13:54:04 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Dec 21 14:10:22 2023 +0000"
      },
      "message": "rust, toolchains: make EFI builds reproducible\n\nThis makes Rust EFI builds bit-for-bit reproducible by stripping\nBuildConfiguration dependent output paths and timestamps from target\nbinaries and intermediary files.\n\nChange-Id: I845be61f32ed304883460fca9006aa398d035b08\nReviewed-on: https://review.monogon.dev/c/monogon/+/2583\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5acd380930cf22284b22d8c2f45bd73465e64628",
      "tree": "ef1a63c5039fbf735aa0978bc748e04e502a19bb",
      "parents": [
        "9ee160e87a38b185af57de2b9188cc19d53cd1d1"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Aug 29 23:15:06 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Aug 30 11:58:42 2023 +0000"
      },
      "message": "build: upstream UEFI to platforms\n\nThis removes our local UEFI constraint_value for a patch sent upstream\nto @platforms. This will be used by rules_rust in a follow-up.\n\nChange-Id: I16e3bf8a60923a2f77ef036babdda45205d8a078\nReviewed-on: https://review.monogon.dev/c/monogon/+/2103\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "9ee160e87a38b185af57de2b9188cc19d53cd1d1",
      "tree": "8c0847c278e56f0c7ab41c49051f2cf74d5717fd",
      "parents": [
        "cc5371b8b1b8714134fb45c4dd18d31399c6955f"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Aug 29 23:07:51 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Aug 30 11:58:42 2023 +0000"
      },
      "message": "b/t/llvm-efi: make fltused symbol weak\n\nRust\u0027s libcore for UEFI ships this hack as well, causing a duplicate\nsymbol error when linking. Marking this weak is also enough for clang to\nkeep this for linking, so the separate used attribute is not needed.\n\nChange-Id: I1f6aad626b235bbe1e613c5427b8c4fbd0dc330e\nReviewed-on: https://review.monogon.dev/c/monogon/+/2102\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "cc5371b8b1b8714134fb45c4dd18d31399c6955f",
      "tree": "f3e19a3af8ff12b3bf8aa32b1ebe2258e3ca0554",
      "parents": [
        "6888873fad889bfb7cd594b4208798f80eb60f43"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Aug 29 23:05:47 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Aug 30 11:58:42 2023 +0000"
      },
      "message": "b/t/llvm-efi: define all_files correctly\n\nThe llvm-efi toolchain has an incorrect all_files definition.\nBazel\u0027s doc says:\n\u003e Bazel assumes that all_files is a superset of all other\n\u003eartifact-providing attributes ...\n\nAdjust the definition to contain all other depsets (currently just one).\n\nChange-Id: Ic0889698a865355b66927d336067aa028501b97b\nReviewed-on: https://review.monogon.dev/c/monogon/+/2101\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "9fd3c3de3d48f328c5771f3659235774aa7df984",
      "tree": "ed1c39faa59c9bfd6a3bdd6a2bdfe6814c73e2f6",
      "parents": [
        "9739a4f0d1a48cbc4e9f6092d3bd471e833bb8c0"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 13:18:36 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 14:19:54 2023 +0000"
      },
      "message": "build/toolchain/musl-host-gcc: handle non-workspace-root execution\n\nThis is needed to build stdlib with cgo, which is in turn required for\nthe race checker to be enabled.\n\nChange-Id: Ic81542925a02c626f157dfd8c6650de3dbb30c7d\nReviewed-on: https://review.monogon.dev/c/monogon/+/1832\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2d1ebd3567567d9e6563776e637006c1d8d88e68",
      "tree": "00305a6b2ddf285998adc442a893e4ca9a22773e",
      "parents": [
        "c59c515435eff154d15c8f4f84ba9b83f93a94c8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 23 01:53:12 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 23 13:25:20 2023 +0000"
      },
      "message": "build/toolchain: remove deprecated use of @bazel_tools\n\n@bazel_tools//platforms will be removed with bazel 6.\nhttps://github.com/bazelbuild/bazel/issues/8622\n\nChange-Id: Iee484f68d76d83ec6d874d0eb4457bb273dc5ed8\nReviewed-on: https://review.monogon.dev/c/monogon/+/1703\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b033b380387a999b7ad19f9d001c42ec570c8945",
      "tree": "6093a955f5c08f29e6590fb71781849d100a3e0e",
      "parents": [
        "d8290c8082f752f52d0ba1c765f668e2992bc5d4"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Mar 07 20:06:36 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Mar 07 22:29:46 2023 +0000"
      },
      "message": "*: fix gomodproxy compatibility\n\nThis is necessary for the source to be fetchable from third-party Go\nprojects (currently via a replace directive, as source.monogon.dev isn\u0027t\ngo-getable). Otherwise, `go mod tidy` complains:\n\nreading https://sum.golang.org/lookup/github.com/monogon-dev/monogon@v0.0.0-20230223122556-665b10937eb8: 404 Not Found\n\tserver response:\n\tnot found: create zip: build/analysis/BUILD.bazel: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/BUILD.bazel: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/classify.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/importsort.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/importsort_test.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/testdata/README.md: case-insensitive file name collision: \"BUILD\" and \"build\"\n\t[Truncated: too long.]\n\nChange-Id: If5947be74f7dfcf4ba4bd79c4dc37589f324b891\nReviewed-on: https://review.monogon.dev/c/monogon/+/1223\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "bc93c2b50690e66712d80e4da5837554588ca065",
      "tree": "68842095e93b11649cdc23da3bb4a6ef24f9dc8a",
      "parents": [
        "e1ebf729194f3673ea0638f0aceb90cb70de23aa"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Sat Jan 14 13:12:23 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jan 19 19:07:21 2023 +0000"
      },
      "message": "*: migrate to CC toolchains and Bazel 5.4.0\n\nChange-Id: Iff3c0ddda4413dd0c5fa657a5b7813223e98611e\nReviewed-on: https://review.monogon.dev/c/monogon/+/1079\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "7fbf10455fd61b4c34182be5cdb3a53fd9897d4b",
      "tree": "02ead12ee79b10abfdd624071802acc771f6bb3e",
      "parents": [
        "bffdda85d7750c9a9a34289a79281edeae1d73ef"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Fri Jan 06 19:57:37 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jan 19 19:07:21 2023 +0000"
      },
      "message": "*: bring our own sandbox root\n\nThis change removes the build container and replaces it with a\nBazel-built Fedora 37 sysroot which is bind-mounted into the Bazel\nsandbox using --sandbox_add_mount_pair. The tools/bazel wrapper script\nautomatically (re-)generates the sysroot when needed.\n\nBoth Bazelisk and Bazel\u0027s native wrapper automatically run the\ntools/bazel script, which means that our build should now work without\nextra steps on any machine with a working Bazelisk setup and unpriv ns.\n\nThis fixes all kinds of weirdness caused by the previous podman setup\n(\"bazel run\"/container pushes, log access, weird podman bugs,\nbreaking the IDE plugin for any non-Monogon workspaces...).\n\nUsing the sandbox hash as an action var also ensures that the cache\nis invalidated whenever the ambient environment changes. Previously,\nBazel did not invalidate build steps when any host dependency changed.\nTo my knowledge, this was the only remaining cause for stale builds.\n\nIt also means we cannot depend on the host toolchain since it\nwon\u0027t be accessible in the sandbox, and anything that inspects the\nhost during analysis stage will fail. This currently means that\nrunning on a non-Fedora host won\u0027t work - we fix this next.\n\nAll RPMs are pinned and the sysroot is fully reproducible.\n\nOnce we upgrade to Bazel 5.x, we can take it further by enabling\n--experimental_use_hermetic_linux_sandbox and fully remove the\nremaining host paths from the sandbox for full hermeticity.\n\nIn a follow-up, we can clean up the CI image to only contain the\nminimum dependencies needed for Bazelisk and the agent.\n\nExisting IntelliJ users need to remove the -Dbazel.bep.path flag\nfrom their VM options.\n\nHandbook/Rust rules are disabled temporarily to keep CI green\n(requires a more recent rules_rust version).\n\nChange-Id: I1f17d57d985ff9d749bf3359f259d8ef52247c18\nReviewed-on: https://review.monogon.dev/c/monogon/+/1033\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "79c13a296a51fc3765fc1857698575621052150d",
      "tree": "746398d651c94f4dc5d48ebfe4c8679fdb8fa1de",
      "parents": [
        "20f68b68006bc85ecf873316c1ec4415fb7d2ce6"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Wed Jan 04 23:15:13 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jan 09 10:04:15 2023 +0000"
      },
      "message": "build/toolchain: fix a few typos while driving by\n\nChange-Id: I7e0dd8bea122990143619d69e312f0f67f3b3a7f\nReviewed-on: https://review.monogon.dev/c/monogon/+/1032\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "0ea448a92ad342bcb0ecb05a2aa9652ebe48b62a",
      "tree": "440a2910a98d9d1e3b895a6fceba859d6e57baa3",
      "parents": [
        "49a1ea42df1cf9f6f3b401a52565496c32b18308"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@nexantic.com",
        "time": "Wed Mar 16 13:49:32 2022 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@nexantic.com",
        "time": "Thu Mar 17 18:09:25 2022 +0000"
      },
      "message": "build: fix typos\n\nChange-Id: I5ecd37cc9eb6145076068b458f2a1d95587e8665\nReviewed-on: https://review.monogon.dev/c/monogon/+/631\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "942f5e2188f67d78fe8da86f42e1902427792f2b",
      "tree": "b3465cd8996a224a678f12cf1d858173077dadd1",
      "parents": [
        "d3ce0ac027b205b1eeccbbcb062c9d417e205df4"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 27 15:03:10 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 08 12:05:38 2022 +0000"
      },
      "message": "b/ci: update build container to Fedora 35\n\nFedora 32 is EOL since over half a year, update to the current stable\nFedora release.\n\ntoolchains: adds clang as it\u0027s no longer part of the llvm package,\nchanges toolchain path references to GCC 11, and rebuilds the sysroot.\n\nedk2: update to latest stable (old version cannot build with a newer\nminor version of Python 3) and patch to disable -Werror and make the\nnewer included Brotli version work as it natively includes BUILD\nfiles which need to be patched out to make the source files accessible.\n\nlinux: add patch to fix PVH ELF note entrypoint with binutils 2.32+ as\notherwise the .notes section gets emitted with broken alignment.\n\nm/t/launch: RunMicroVM is broken if SerialPort is not set with newer\nQEMU versions because fcntl(2) fails to interact with a broken file\ndescriptor. This is due to a confusion between nil interfaces and\ninterfaces containing a nil pointer causing Go to improperly pass the\nfile descriptor. Changing the type of SerialPort to the actual\ninterface resolves the issue.\n\nChange-Id: I03a8cbf4f80a7363794dad1ff62ccb57e778cac3\nReviewed-on: https://review.monogon.dev/c/monogon/+/529\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "605efbe76a4317b50bc5499041784f303a9bdc37",
      "tree": "a8599cf7715aaa2035163aeba83666d0d6506804",
      "parents": [
        "bc7614ee942aee814865a5967c642802040476ed"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Sep 28 14:01:01 2021 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Sep 30 13:14:43 2021 +0000"
      },
      "message": "b/t/llvm-efi: add EFI toolchain based on LLVM\n\nThis adds a Bazel toolchain for building EFI binaries using rules_cc\nwith LLVM installed in the container.\n\nIt does not yet add an EFI standard library.\n\nChange-Id: I9eb15de6f4f800ab6351607d2fb01dad3135da9f\nReviewed-on: https://review.monogon.dev/c/monogon/+/333\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "bb95ebd12f8777b1b653653bcb54a081b6c54771",
      "tree": "0c52fbe31ea06cf4b1151e991f3da4ed6515b426",
      "parents": [
        "b60d9cb51462a82a89f9c16f5ca6b4541de6d450"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Mar 16 15:06:51 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Mar 16 15:06:51 2021 +0100"
      },
      "message": "Include compiler-specific headers in musl toolchain sysroot\n\nCurrently our musl sysroot does not include any compiler-specific headers. This makes the musl\ntoolchain unable to build more complicated things like QEMU. Since the musl toolchain is not actually\na real toolchain, but just a thin wrapper around the host toolchain this is a problem as these headers\nare not static. For a lack of better options it has thus been decided that we\u0027re just going to manually\nmerge the headers for our build container in.\n\nThis is expected to be removed as soon as we have a proper toolchain.\n\nTest Plan: Tested in subsequent revision\n\nX-Origin-Diff: phab/D737\nGitOrigin-RevId: a1ed1d229c87980341c80b22263f5d9a4cf9924c\n"
    },
    {
      "commit": "735119f8efcd1ce8689703fe455e39f2146b0b3e",
      "tree": "40fd14c0a07c12974d01d67997349917b40f5d69",
      "parents": [
        "ddd6caff9edac56dad727a79eb5b0faf4dbd6cb9"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Thu Mar 11 00:30:01 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Thu Mar 11 00:30:01 2021 +0100"
      },
      "message": "Host toolchain minimal features\n\nTest Plan: Tested with QEMU and the existing codebase.\n\nX-Origin-Diff: phab/D713\nGitOrigin-RevId: ecfc94ab2b4880447c628fc2e41b5ed6234f90d8\n"
    },
    {
      "commit": "f12bedfa4cd144c3abc4deac58405067d55f9c87",
      "tree": "ddbc408e424a0ea8e446bcf0022ee16278202d63",
      "parents": [
        "c3ad846e0eaf4cf008130a643ff247aa27531e17"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri Jan 15 16:58:50 2021 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri Jan 15 16:58:50 2021 +0100"
      },
      "message": "*: bump up Go dependencies\n\nThis started off as \u0027let\u0027s bump gVisor\u0027. However, pulling that thread\nresulted in quite a few things that also required bumping for the build\nto actually work. Here I come back from a day in the Bazel mines,\nbearing fruits of my labor.\n\nNotable changes:\n\n - bump up gVisor\n - bump up containerd\n - bump up Bazel\n - bump up rules_go, rules_docker, Gazelle\n - use google.golang.org/protobuf (the \u0027new\u0027 go proto package)\n - bump up gRPC (but not too much, as go-etcd is still straggling)\n\nNotable effects:\n\n - new gVisor supports TTY allocation (kubectl run -it\n   --image\u003dubuntu:20.04 ubuntu bash now works!)\n\nNotable notes:\n\n - gVisor shim has new been rolled into the main gVisor package and is\n   slightly easier to build (we can get rid of a bunch of patches).\n - Opencontainers\u0027 runtime-specs now follow containerd instead of gVisor\n - gVisor had to be taught to use the slightly newer runtime-specs via a\n   new patch.\n - go_rule() in Starlark is now deprecated, and we had to change our\n   Starlark rule definitions to use rule() instead. We also had to patch\n   gVisor to do that (as there hasn\u0027t yet been a release that rolled\n   this up).\n - Gazelle now supports different naming schemes for generated Go\n   targets - either the old //foo/bar:go_default_library scheme, or a\n   new and nicer //foo/bar:bar scheme. We currently force the usage of\n   the old scheme, as switching over is probably not going to be easy\n   (we use a lot of external Bazel files, and we have to wait for their\n   compatibility with the new scheme first).\n - New Bazel/rules_go sets a TMPDIR long enough to generate paths (via\n   ioutil.TempDir) to which sockets cannot be bound (108-byte limit).\n - The new protobuf API is incompatible with gogoproto. containerd/ttrpc\n   uses gogoproto, but we are smart enough to pull in the old protobuf\n   library as gogoproto\u0027s transitive dep. However, ttrpc also wants to\n   use some proto-generated grpc bits, and that doesn\u0027t work. We have to\n   pull in a ttrpc fork from a PR that hasn\u0027t yet been merged that fixes\n   this issue.\n\nTest Plan: Refactor only, should be covered by tests.\n\nX-Origin-Diff: phab/D689\nGitOrigin-RevId: 1188c0605d25e7f40307fab5fd96e7019f3a9171\n"
    },
    {
      "commit": "662b5b3119b0798980b887d1ef9fa1b5632aa7fb",
      "tree": "3e1fc4ab033530e6d579112ba500d2c6edb43368",
      "parents": [
        "39f2f691726dc6e0a291aa8609085b835a313dad"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Dec 21 13:49:00 2020 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Dec 21 13:49:00 2020 +0100"
      },
      "message": "smalltown -\u003e metropolis\n\nThis pass removes all mentions of Smalltown, both from code and comments,\nand replaces them with appropriate new terminology.\n\nTest Plan: Refactor, covered by CI.\n\nX-Origin-Diff: phab/D674\nGitOrigin-RevId: 04a94d44ef07d46f7821530da5614daefe16d7ea\n"
    },
    {
      "commit": "9e861a87775191faf1a027f603a0074446cd1319",
      "tree": "01fb624b542762594bad6e88d67c947263837769",
      "parents": [
        "5faa2fc7fb6266486183fdc1455e711079d33e37"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Wed Sep 16 13:46:41 2020 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Wed Sep 16 13:46:41 2020 +0200"
      },
      "message": "//build/toolchain/musl-host-gcc: implement\n\nThis is a cc_toolchain which runs on x86 systems with Linux/gcc and\ntargets Smalltown via static musl builds.\n\nIt is currently unused, but can be tested by trying to build any\ncc_binary with\n--crosstool_top\u003d//build/toolchain/musl-host-gcc:musl_host_cc_suite .\n\nTest Plan: This has been tested manually by running it against a simple cc_binary. Another revision on top of this will attempt to build mkfs.xfs with it.\n\nX-Origin-Diff: phab/D623\nGitOrigin-RevId: ebdf51ee76d9d5a7fd94725c66ef53783f787df7\n"
    },
    {
      "commit": "385c12f84a0f1b6b5d70f228a0fb629f6f8f316c",
      "tree": "ef5ea6804ca0419e8851d1a21f956508764ba446",
      "parents": [
        "032ca1877adc3421343ed35a49c014ca261effff"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Wed Jun 17 12:12:42 2020 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Wed Jun 17 12:12:42 2020 +0200"
      },
      "message": "build/toolchain: init\n\nThis adds a new, bare-bones, host-based C++ toolchain, and enables it\nfor all target builds. This toolchain replaces the automatically\ngenerated host toolchain from bazel-tools, and differs in the following\nways:\n - uses fully hardcoded paths\n - is the bare minimum required, which allows us full control over all\n   aspects of it, notably link arguments\n - does not assume we\u0027re building normal C++ binaries for Linux (for\n   instance, the new toolchain does not always link with -lm)\n\nThis is in anticipation of a change by @lorenz that uses cc_binary to\nbuild qboot for tests. However, this is also a good basis to start\nwriting a \u0027real\u0027 toolchain suite for mkfs.xfs, linux \u0026 co.\n\nTest Plan: For now, this is unused - but does not break any existing flow, which is fine. I did test this on a qboot WIP commit from @lorenz, and it at least fixed our immediate problem that it wanted to build it with with -lm,-lstdc++ - which we didn\u0027t.\n\nX-Origin-Diff: phab/D560\nGitOrigin-RevId: 8a5bc5f00a0a0534ea245e556d160f5bab7f8a0c\n"
    }
  ]
}
