diff --git a/.circleci/config.yml b/.circleci/config.yml
index 404baac960bd8f962b81727b29838549dc9b2fc5..9d122c555eab634a67253d39303e4f758801e567 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -38,6 +38,13 @@ jobs:
           at: .
       - run: make test_integration
 
+  build:
+    <<: *defaults
+    steps:
+      - attach_workspace:
+          at: .
+      - run: make build
+
   release:
     <<: *defaults
     steps:
@@ -77,10 +84,17 @@ workflows:
           filters:
             <<: *tags_filters
 
+      - build:
+          requires:
+            - checkout_code
+          filters:
+            <<: *tags_filters
+
       - release:
           requires:
             - test
             - test_integration
+            - build
           filters:
             # tags filters and branch filters are applied disjunctively, so we
             # will still build tags not on develop (i.e. including tagged
diff --git a/Makefile b/Makefile
index 91b8dfc77c9d444fd19a8451e53cc025b19b8af4..260f0379c1e0c27e4b4d99b74e5502e329ec4244 100644
--- a/Makefile
+++ b/Makefile
@@ -121,7 +121,7 @@ build_race_client:
 
 # test burrow
 .PHONY: test
-test:
+test: check
 	@go test ${PACKAGES_NOVENDOR}
 
 .PHONY: test_integration
diff --git a/version/version.go b/version/version.go
index 16283656300c00d946d6711ca27e3cf9015ff25a..0ae7136c5103c6f24fddd349c651a4988d4624d7 100644
--- a/version/version.go
+++ b/version/version.go
@@ -93,7 +93,7 @@ func (v *VersionIdentifier) GetMinorVersionString() string {
 }
 
 // Return the plain version string without the ClientIdentifier
-func  GetSemanticVersionString() string { return burrowVersion.GetSemanticVersionString() }
+func GetSemanticVersionString() string { return burrowVersion.GetSemanticVersionString() }
 func (v *VersionIdentifier) GetSemanticVersionString() string {
 	return fmt.Sprintf("%d.%d.%d", v.MajorVersion,
 		v.MinorVersion, v.PatchVersion)