mirror of https://github.com/tailscale/tailscale/
Dockerfile: add test that build-env Alpine version matches go.mod
So things like #5660 don't happen in the future. Change-Id: I01234f241e297d5b7bdd18da1bb3cc5420ad2225 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>pull/5667/head
parent
9b71008ef2
commit
4bda41e701
@ -0,0 +1,34 @@
|
||||
// Copyright (c) 2022 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package tailscaleroot
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"regexp"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDockerfileVersion(t *testing.T) {
|
||||
goMod, err := os.ReadFile("go.mod")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
m := regexp.MustCompile(`(?m)^go (\d\.\d+)\r?$`).FindStringSubmatch(string(goMod))
|
||||
if m == nil {
|
||||
t.Fatalf("didn't find go version in go.mod")
|
||||
}
|
||||
goVersion := m[1]
|
||||
|
||||
dockerFile, err := os.ReadFile("Dockerfile")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
wantSub := fmt.Sprintf("FROM golang:%s-alpine AS build-env", goVersion)
|
||||
if !strings.Contains(string(dockerFile), wantSub) {
|
||||
t.Errorf("didn't find %q in Dockerfile", wantSub)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue