mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-01 09:32:08 +00:00
cmd/k8s-operator/generate: skip tests if no network or Helm is down
Updates helm/helm#31434 Change-Id: I5eb20e97ff543f883d5646c9324f50f54180851d Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
74f1d8bd87
commit
d5a40c01ab
@@ -144,7 +144,7 @@ func generate(baseDir string) error {
|
||||
if _, err := file.Write([]byte(helmConditionalEnd)); err != nil {
|
||||
return fmt.Errorf("error writing helm if-statement end: %w", err)
|
||||
}
|
||||
return nil
|
||||
return file.Close()
|
||||
}
|
||||
for _, crd := range []struct {
|
||||
crdPath, templatePath string
|
||||
|
||||
@@ -7,26 +7,50 @@ package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"net"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"tailscale.com/tstest/nettest"
|
||||
"tailscale.com/util/cibuild"
|
||||
)
|
||||
|
||||
func Test_generate(t *testing.T) {
|
||||
nettest.SkipIfNoNetwork(t)
|
||||
|
||||
ctx, cancel := context.WithTimeout(t.Context(), 10*time.Second)
|
||||
defer cancel()
|
||||
if _, err := net.DefaultResolver.LookupIPAddr(ctx, "get.helm.sh"); err != nil {
|
||||
// https://github.com/helm/helm/issues/31434
|
||||
t.Skipf("get.helm.sh seems down or unreachable; skipping test")
|
||||
}
|
||||
|
||||
base, err := os.Getwd()
|
||||
base = filepath.Join(base, "../../../")
|
||||
if err != nil {
|
||||
t.Fatalf("error getting current working directory: %v", err)
|
||||
}
|
||||
defer cleanup(base)
|
||||
|
||||
helmCLIPath := filepath.Join(base, "tool/helm")
|
||||
if out, err := exec.Command(helmCLIPath, "version").CombinedOutput(); err != nil && cibuild.On() {
|
||||
// It's not just DNS. Azure is generating bogus certs within GitHub Actions at least for
|
||||
// helm. So try to run it and see if we can even fetch it.
|
||||
//
|
||||
// https://github.com/helm/helm/issues/31434
|
||||
t.Skipf("error fetching helm; skipping test in CI: %v, %s", err, out)
|
||||
}
|
||||
|
||||
if err := generate(base); err != nil {
|
||||
t.Fatalf("CRD template generation: %v", err)
|
||||
}
|
||||
|
||||
tempDir := t.TempDir()
|
||||
helmCLIPath := filepath.Join(base, "tool/helm")
|
||||
helmChartTemplatesPath := filepath.Join(base, "cmd/k8s-operator/deploy/chart")
|
||||
helmPackageCmd := exec.Command(helmCLIPath, "package", helmChartTemplatesPath, "--destination", tempDir, "--version", "0.0.1")
|
||||
helmPackageCmd.Stderr = os.Stderr
|
||||
|
||||
Reference in New Issue
Block a user