diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b41ffc8fef6b6827c079549bc1d620d288d2d657..c78ebff5e14485fd97f47c32ffe3b0145c6f2fe1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,24 +16,39 @@ include:
   - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'
 
 lint:
-  image: golangci/golangci-lint:v1.44.2
+  image: golangci/golangci-lint:v1.50.1
   stage: test
   tags:
     - amd64-docker
-  script:
-    - golangci-lint --version
-    - golangci-lint run
   before_script:
     - ln -s /builds /go/src/gitlab.com
     - cd /go/src/gitlab.com/${CI_PROJECT_PATH}
+  script:
+    - go version
+    - golangci-lint --version
+    - golangci-lint run
 
 unit tests:
-  image: golang:1.17.7
+  image: golang:1.19.3
   extends: .gotest
   stage: test
   tags:
     - amd64-docker
   before_script: []
+  coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/'
+
+govulncheck:
+  image: golang:1.19.3
+  stage: test
+  tags:
+    - amd64-docker
+  before_script:
+    - ln -s /builds /go/src/gitlab.com
+    - cd /go/src/gitlab.com/${CI_PROJECT_PATH}
+  script:
+    - go version
+    - go install golang.org/x/vuln/cmd/govulncheck@latest
+    - govulncheck ./...
 
 amd64:
   extends: .docker-build
diff --git a/.golangci.yml b/.golangci.yml
index e6ba71d0fff71ba18fa18f4bd0f55fbaad679ab2..a31b66b24000f23ec82f765c828a26cf2bef07bd 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -12,7 +12,6 @@ linters:
   enable:
     - megacheck
     - govet
-    - deadcode
     - errcheck
     - goconst
     - gocyclo
@@ -22,10 +21,9 @@ linters:
     - ineffassign
     - nakedret
     - staticcheck
-    - structcheck
     - unconvert
-    - varcheck
     - vet
     - vetshadow
     - misspell
     - staticcheck
+    - unused
diff --git a/cmd/task/main.go b/cmd/task/main.go
index b2d62cea2fc757e2eb5862b4daedfd0d4648ba03..df676d67049ca2cecf4813efd396664e889278c4 100644
--- a/cmd/task/main.go
+++ b/cmd/task/main.go
@@ -269,7 +269,7 @@ func exposeMetrics(addr string, logger *zap.Logger) {
 	promMux := http.NewServeMux()
 	promMux.Handle("/metrics", promhttp.Handler())
 	logger.Info(fmt.Sprintf("exposing prometheus metrics at %s/metrics", addr))
-	if err := http.ListenAndServe(addr, promMux); err != nil {
+	if err := http.ListenAndServe(addr, promMux); err != nil { //nolint:gosec
 		logger.Error("error exposing prometheus metrics", zap.Error(err))
 	}
 }
diff --git a/deployment/ci/Dockerfile b/deployment/ci/Dockerfile
index eed6b5c5957bcb0c87710d3a3c6e11b6b7246d54..d040580e5d1d4fd2e814ba1df697ea24cf48f456 100644
--- a/deployment/ci/Dockerfile
+++ b/deployment/ci/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.19-alpine3.15 as builder
+FROM golang:1.19.3-alpine3.15 as builder
 
 RUN apk add git
 
diff --git a/deployment/compose/Dockerfile b/deployment/compose/Dockerfile
index e45218df32e0488a644aef60015dc47cf7f3819a..a7e900185618af09b3a76bbc975c8b973e59817f 100644
--- a/deployment/compose/Dockerfile
+++ b/deployment/compose/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.19
+FROM golang:1.19.3
 
 ENV GO111MODULE=on