diff --git a/.github/workflows/test-integration.yaml b/.github/workflows/test-integration.yaml index bf55e2de..57594aa2 100644 --- a/.github/workflows/test-integration.yaml +++ b/.github/workflows/test-integration.yaml @@ -101,7 +101,7 @@ jobs: --volume $PWD/control_logs:/tmp/control \ --env HEADSCALE_INTEGRATION_POSTGRES=${{env.USE_POSTGRES}} \ golang:1 \ - go run gotest.tools/gotestsum@latest -- ./... \ + go run gotest.tools/gotestsum@latest -- -race ./... \ -failfast \ -timeout 120m \ -parallel 1 \ diff --git a/Makefile b/Makefile index 719393f5..127dae71 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ build: dev: lint test build test: - gotestsum -- -short -coverprofile=coverage.out ./... + gotestsum -- -short -race -coverprofile=coverage.out ./... test_integration: docker run \ @@ -33,7 +33,7 @@ test_integration: -v /var/run/docker.sock:/var/run/docker.sock \ -v $$PWD/control_logs:/tmp/control \ golang:1 \ - go run gotest.tools/gotestsum@latest -- -failfast ./... -timeout 120m -parallel 8 + go run gotest.tools/gotestsum@latest -- -race -failfast ./... -timeout 120m -parallel 8 lint: golangci-lint run --fix --timeout 10m diff --git a/integration/scenario.go b/integration/scenario.go index bd004247..2784a995 100644 --- a/integration/scenario.go +++ b/integration/scenario.go @@ -327,18 +327,22 @@ func (s *Scenario) CreateTailscaleNodesInUser( cert := headscale.GetCert() hostname := headscale.GetHostname() + s.mu.Lock() opts = append(opts, tsic.WithHeadscaleTLS(cert), tsic.WithHeadscaleName(hostname), ) + s.mu.Unlock() user.createWaitGroup.Go(func() error { + s.mu.Lock() tsClient, err := tsic.New( s.pool, version, s.network, opts..., ) + s.mu.Unlock() if err != nil { return fmt.Errorf( "failed to create tailscale (%s) node: %w",