)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
