From 594273a0569d1d717233e44df2bb16db53299746 Mon Sep 17 00:00:00 2001 From: Juraj Kubrican Date: Fri, 10 Jan 2025 13:33:05 +0100 Subject: [PATCH] health check --- .github/workflows/docker-build-self.yml | 17 ++++++++++++++++- src/main.go | 6 ++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-self.yml b/.github/workflows/docker-build-self.yml index 84e728c..77f9bcd 100644 --- a/.github/workflows/docker-build-self.yml +++ b/.github/workflows/docker-build-self.yml @@ -16,7 +16,22 @@ jobs: - name: Build Docker image run: | - docker build -t "ghcr.io/jurajkubrican/knet/go-web-server:latest" . + docker build -t "go-web-server:latest" . + + - name: Run temporary container for health check + run: | + docker run -d --name temp-go-web-server -p 54322:54321 go-web-server:latest + sleep 10 # Wait for the container to start + if curl -f http://localhost:54322/health; then + echo "Health check passed" + else + echo "Health check failed" + docker logs temp-go-web-server + docker stop temp-go-web-server + docker rm temp-go-web-server + exit 1 + fi + # - name: Log in to GitHub Container Registry # uses: docker/login-action@v2 diff --git a/src/main.go b/src/main.go index 6bbcaff..f90b59f 100644 --- a/src/main.go +++ b/src/main.go @@ -45,6 +45,8 @@ func main() { boxes := getBoxes() + e.GET("/health", healthCheck) + e.Static("/images", "images") e.Static("/css", "css") @@ -58,3 +60,7 @@ func main() { defer db.Close() } + +func healthCheck(c echo.Context) error { + return c.String(200, "OK") +}