all.bash,internal: force DB testing in CI

If the environment variable GO_DISCOVERY_TESTDB is "true" wherever we
would skip DB tests, fail instead.

Set it to "true" in all.bash.

Fixes golang/go#39713.

Change-Id: I80fe27578a05610e29cc3ad9f6d477c9768fd51a
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/239257
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/all.bash b/all.bash
index 0da7b30..f828f33 100755
--- a/all.bash
+++ b/all.bash
@@ -157,7 +157,7 @@
     "")
       standard_linters
       runcmd go mod tidy
-      runcmd go test ./...
+      runcmd env GO_DISCOVERY_TESTDB=true go test ./...
       # To test internal/secrets, set GO_DISCOVERY_SECRETS_BUCKET and GO_DISCOVERY_KMS_KEY_NAME
       # to appropriate test values.
       runcmd go test ./internal/secrets
@@ -166,7 +166,7 @@
       # Similar to the no-arg mode, but omit actions that require GCP
       # permissions or that don't test the code.
       standard_linters
-      runcmd go test -race -count=1 ./...
+      runcmd env GO_DISCOVERY_TESTDB=true go test -race -count=1 ./...
       ;;
     lint) standard_linters ;;
     headers) check_headers ;;
diff --git a/internal/database/database.go b/internal/database/database.go
index d13973d..4c8aff1 100644
--- a/internal/database/database.go
+++ b/internal/database/database.go
@@ -138,7 +138,6 @@
 //
 // If the isolation level requires it, Transact will retry the transaction upon
 // serialization failure, so txFunc may be called more than once.
-
 func (db *DB) Transact(ctx context.Context, iso sql.IsolationLevel, txFunc func(*DB) error) (err error) {
 	defer derrors.Wrap(&err, "Transact(%s)", iso)
 	// For the levels which require retry, see
diff --git a/internal/database/database_test.go b/internal/database/database_test.go
index 3e11f6e..68a9090 100644
--- a/internal/database/database_test.go
+++ b/internal/database/database_test.go
@@ -29,7 +29,7 @@
 	const dbName = "discovery_postgres_test"
 
 	if err := dbtest.CreateDBIfNotExists(dbName); err != nil {
-		if errors.Is(err, derrors.NotFound) {
+		if errors.Is(err, derrors.NotFound) && os.Getenv("GO_DISCOVERY_TESTDB") != "true" {
 			log.Printf("SKIPPING: could not connect to DB (see doc/postgres.md to set up): %v", err)
 			return
 		}
diff --git a/internal/postgres/test_helper.go b/internal/postgres/test_helper.go
index 5b3b0cd..0e8c421 100644
--- a/internal/postgres/test_helper.go
+++ b/internal/postgres/test_helper.go
@@ -132,7 +132,7 @@
 	database.QueryLoggingDisabled = true
 	db, err := SetupTestDB(dbName)
 	if err != nil {
-		if errors.Is(err, derrors.NotFound) {
+		if errors.Is(err, derrors.NotFound) && os.Getenv("GO_DISCOVERY_TESTDB") != "true" {
 			log.Printf("SKIPPING: could not connect to DB (see doc/postgres.md to set up): %v", err)
 			return
 		}