From 33d53b2a2f6bf79ae72d1472877cb1338668673b Mon Sep 17 00:00:00 2001 From: positiveblue Date: Mon, 12 Jun 2023 18:21:33 -0700 Subject: [PATCH] ci: run unit tests against sqlite and postgres --- .github/workflows/main.yml | 2 ++ make/testing_flags.mk | 22 +++++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0e50d19..e825ed3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -99,6 +99,8 @@ jobs: matrix: unit_type: - unit-race + - unit-race dbbackend=postgres + steps: - name: git checkout uses: actions/checkout@v2 diff --git a/make/testing_flags.mk b/make/testing_flags.mk index ff8dfbe..df0638c 100644 --- a/make/testing_flags.mk +++ b/make/testing_flags.mk @@ -1,5 +1,7 @@ TEST_FLAGS = -COVER_PKG = $$(go list -deps ./... | grep '$(PKG)') +DEV_TAGS = dev +COVER_PKG = $$(go list -deps -tags="$(DEV_TAGS)" ./... | grep '$(PKG)' | grep -v lnrpc) +GOLIST := go list -tags="$(DEV_TAGS)" -deps $(PKG)/... | grep '$(PKG)'| grep -v '/vendor/' # If specific package is being unit tested, construct the full name of the # subpackage. @@ -23,6 +25,16 @@ else TEST_FLAGS += -test.timeout=20m endif +# If we are targetting postgres make sure our tests have the tags. +ifeq ($(dbbackend),postgres) +DEV_TAGS += test_db_postgres +endif + +# Add any additional tags to the dev tags list. +ifneq ($(tags),) +DEV_TAGS += ${tags} +endif + # UNIT_TARGTED is undefined iff a specific package and/or unit test case is # not being targeted. UNIT_TARGETED ?= no @@ -30,11 +42,11 @@ UNIT_TARGETED ?= no # If a specific package/test case was requested, run the unit test for the # targeted case. Otherwise, default to running all tests. ifeq ($(UNIT_TARGETED), yes) -UNIT := $(GOTEST) $(TEST_FLAGS) $(UNITPKG) -UNIT_RACE := $(GOTEST) $(TEST_FLAGS) -race $(UNITPKG) +UNIT := $(GOTEST) -tags="$(DEV_TAGS)" $(TEST_FLAGS) $(UNITPKG) +UNIT_RACE := $(GOTEST) -tags="$(DEV_TAGS)" $(TEST_FLAGS) -race $(UNITPKG) endif ifeq ($(UNIT_TARGETED), no) -UNIT := $(GOLIST) | $(XARGS) env $(GOTEST) $(TEST_FLAGS) -UNIT_RACE := $(UNIT) -race +UNIT := $(GOLIST) | $(XARGS) env $(GOTEST) -tags="$(DEV_TAGS)" $(TEST_FLAGS) +UNIT_RACE := $(GOLIST) | $(XARGS) env $(GOTEST) -tags="$(DEV_TAGS)" -race $(TEST_FLAGS) endif