)]}'
{
  "commit": "a6a039209495ee74c2e830a55f496e901b6a3b5b",
  "tree": "11c915326c4b2c7b16dec2f67f595a3cb9a5db3b",
  "parents": [
    "79d0b0d518efef2f86904443b8612ed6bd90cb8c"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Mon Nov 13 19:57:48 2023 +0100"
  },
  "committer": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Mon Nov 20 11:36:53 2023 +0000"
  },
  "message": "build: new workspace status script, new versioning scheme\n\nThis reimplements the workspace status script and fixes a bunch of\nissues along the way:\n\n1. The script is now in Python, which allows us to better express some\n   complexity.\n2. We now retrieve the Kubernetes version from\n   third_party/go/repositories.bzl, thereby unhardcoding the Kubernetes\n   version.\n3. We now support for multiple \u0027products\u0027 with different versions.\n   Currently we have only one product, which is metropolis. This is the\n   basis for tying Git tags to releases of a particular codebase within\n   the monorepo.\n4. Git tags are now parsed to retrieve the version of a product, instead\n   of it being hardcoded in the workspace status script.\n5. We use a vX.Y.Z-devNNN versioning system for builds which have\n   happened in between tags. NNN is the number of commits since vX.Y.Z.\n\nThis changes the current version of Metropolis from 0.1 to 0.1.0-dev440.\n\nIn an upcoming change we will implement a Go-side library to caputure\ninformation about the workspace state, both the per-repo data like VCS\nstate and per-product data like versions. For now we keep a stopgap in\nthe new script to emit version data as expected by the current codebase.\n\nChange-Id: I07cb17efc7d60aa269627a549f56ffa1bfdeb5b7\nReviewed-on: https://review.monogon.dev/c/monogon/+/2304\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "28b73037d208e856e68aed0422f2b9121e30c980",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "3fdf8b7c54c45d72b4ff8956a959827fb87ad7af",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8339cd5461e11b78f75e287ebf62d22086c3a46f",
      "new_mode": 33261,
      "new_path": "build/print-workspace-status.py"
    },
    {
      "type": "delete",
      "old_id": "1aeebe041313f7cbdb9edd95c9127144942ac4ec",
      "old_mode": 33261,
      "old_path": "build/print-workspace-status.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
