From 67fed3d76deae9eb62f0313812c56e93e595cb3a Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 29 Oct 2023 13:24:10 +0300 Subject: [PATCH] chore(tools/depotfmt): use Go version from buildGo This is required because Go 1.18 is actually being deleted. I've applied the formatting breakage that it introduces (such as breaking comment formatting), because I can't be bothered to try and work around broken Go stuff. Change-Id: Ica7cee0d01228845d6a766079fef36df99a3da96 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9832 Autosubmit: tazjin Reviewed-by: flokli Tested-by: BuildkiteCI --- nix/buildGo/default.nix | 3 +++ tools/depotfmt.nix | 3 +-- tools/nixery/layers/layers.go | 17 +++++++++-------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/nix/buildGo/default.nix b/nix/buildGo/default.nix index a7b1f6771..83b9064ba 100644 --- a/nix/buildGo/default.nix +++ b/nix/buildGo/default.nix @@ -118,4 +118,7 @@ in program = makeOverridable program; package = makeOverridable package; external = makeOverridable external; + + # re-expose the Go version used + inherit go; } diff --git a/tools/depotfmt.nix b/tools/depotfmt.nix index 4530469d1..f493a42e5 100644 --- a/tools/depotfmt.nix +++ b/tools/depotfmt.nix @@ -9,10 +9,9 @@ let echo "$@" | xargs -n1 ${pkgs.terraform}/bin/terraform fmt ''; - # TODO: Upgrade to Go 1.19 and reformat tree config = pkgs.writeText "depot-treefmt-config" '' [formatter.go] - command = "${pkgs.go_1_18}/bin/gofmt" + command = "${depot.nix.buildGo.go}/bin/gofmt" options = [ "-w" ] includes = ["*.go"] diff --git a/tools/nixery/layers/layers.go b/tools/nixery/layers/layers.go index 131a0cdbe..7251c61a8 100644 --- a/tools/nixery/layers/layers.go +++ b/tools/nixery/layers/layers.go @@ -11,10 +11,10 @@ // // # Inputs // -// * a graph of Nix runtime dependencies, generated via exportReferenceGraph -// * popularity values of each package in the Nix package set (in the form of a -// direct reference count) -// * a maximum number of layers to allocate for the image (the "layer budget") +// - a graph of Nix runtime dependencies, generated via exportReferenceGraph +// - popularity values of each package in the Nix package set (in the form of a +// direct reference count) +// - a maximum number of layers to allocate for the image (the "layer budget") // // # Algorithm // @@ -30,14 +30,15 @@ // │ │ // │ v // └───> D ───> F -// │ -// └────> G +// +// │ +// └────> G // // Each node (i.e. package) is then visited to determine how important // it is to separate this node into its own layer, specifically: // -// 1. Is the node within a certain threshold percentile of absolute -// popularity within all of nixpkgs? (e.g. `glibc`, `openssl`) +// 1. Is the node within a certain threshold percentile of absolute +// popularity within all of nixpkgs? (e.g. `glibc`, `openssl`) // // 2. Is the node's runtime closure above a threshold size? (e.g. 100MB) //