treewide: fix nostamp

Previously, --nostamp did not disable all stamping with commit info,
which meant that metropolis e2e tests ran on CI even if no change was
made to metropolis code. Now, --config:nostamp does this properly.

The Bazel --nostamp flag is supposed to disable stamping. Ideally, this
means that the workspace status script is not executed. But we can't do
that because the metropolis version is required (e.g. for compatibility
checks), and we currently obtain the version from git tags. Another
option is to check whether the --nostamp flag is set in the status
script, and omit any git commit info in this case. But I didn't find a
way to access the --nostamp flag from the status script, so instead, the
--config:nostamp flag is introduced and replaces --nostamp.

Versions without git info are marked with a "-nostamp" suffix.
I adjusted //version to handle this case.

Change-Id: I34e1b59b908074e8d4234013358b6be41899570a
Reviewed-on: https://review.monogon.dev/c/monogon/+/4169
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
5 files changed
tree: 54906615cc7d434703b729784eda51a61c77b51b
  1. .vscode/
  2. build/
  3. cloud/
  4. go/
  5. intellij/
  6. metropolis/
  7. osbase/
  8. third_party/
  9. tools/
  10. version/
  11. .bazelignore
  12. .bazelproject
  13. .bazelrc
  14. .bazelrc.ci
  15. .bazelrc.sandboxroot
  16. .bazelversion
  17. .git-ignore-revs
  18. .gitignore
  19. BUILD.bazel
  20. CODING_STANDARDS.md
  21. go.mod
  22. go.sum
  23. LICENSE
  24. MODULE.bazel
  25. MODULE.bazel.lock
  26. README.md
  27. SETUP.md
  28. shell.nix
  29. WORKSPACE
README.md

Monogon Monorepo

This is the main repository containing the source code for the Monogon Platform.

This is pre-release software - take a look, and check back later! In the meantime, join us on Matrix (#monogon-os-community:matrix.org) or Discord.

Environment

Our build environment is self-contained and requires only minimal host dependencies:

  • A Linux machine or VM.
  • Bazelisk >= v1.15.0 (or a working Nix environment).
  • A reasonably recent kernel with user namespaces enabled.
  • Working KVM with access to /dev/kvm (if you want to run tests).

Our docs assume that Bazelisk is available as bazel on your PATH.

Refer to SETUP.md for detailed instructions.

Monogon OS

The source code lives in //metropolis (Metropolis is the codename of Monogon OS).

See the //metropolis/README.md for a developer quick start guide, or see the Monogon OS Handbook for user documentation.