From e7b9c5d058793d40c6c834a638acbf60d3815a20 Mon Sep 17 00:00:00 2001 From: Yi-Ting Shih Date: Mon, 8 Dec 2025 23:18:19 +0800 Subject: [PATCH] Feat: add workflows --- .gitea/workflows/test.yml | 20 ++++++++++++++++++++ Makefile | 25 ++++++++++++++++++------- docker-compose.yml | 1 + 3 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 .gitea/workflows/test.yml diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..155c070 --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,20 @@ +--- +name: Go test +on: [push] + +jobs: + run-go-vet: + runs-on: imgbuilder + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Run go vet + run: go vet + run-go-test: + needs: run-go-vet + runs-on: imgbuilder + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Run go test + run: make test-ci diff --git a/Makefile b/Makefile index d12e35c..b8029bd 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ -.PHONY: all swagger docker install test +.PHONY: all swagger install postgres test test-ci \ + docker docker-quiet docker-clean SWAG ?= go run github.com/swaggo/swag/cmd/swag@v1.16.4 DOCKER ?= docker @@ -9,22 +10,32 @@ TARGET := backend all: swagger docker +swagger: + $(SWAG) fmt + $(SWAG) init -o docs -g cmds/serve.go -pdl 1 + docker: $(TARGET) $(DOCKER) compose up -d --force-recreate --build backend +$(TARGET): $(SOURCE) + $(GO_ENV) go build -o $@ + install: $(GO_ENV) go install test: - go test -v ./tests -count=1 + go test -v ./tests -count=1 -failfast postgres: $(DOCKER) compose exec postgres psql \ postgres://go2025:go2025@postgres:5432/go2025?sslmode=disable -swagger: - $(SWAG) fmt - $(SWAG) init -o docs -g cmds/serve.go -pdl 1 +test-ci: docker-quiet test docker-clean -$(TARGET): $(SOURCE) - $(GO_ENV) go build -o $@ +docker-quiet: $(TARGET) + $(DOCKER) compose up -d --force-recreate --build backend \ + --quiet-build --quiet-pull + sleep 5 + +docker-clean: + $(DOCKER) compose down -v --remove-orphans diff --git a/docker-compose.yml b/docker-compose.yml index 6f2d9f1..0558836 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -64,6 +64,7 @@ services: context: . env_file: - path: ./.env + required: false ports: - 8080:8080 volumes: