From 2bf9aa5eb578af55f91d584035049e12ed1cc080 Mon Sep 17 00:00:00 2001 From: gradua11y Date: Mon, 9 Nov 2026 04:36:40 +0800 Subject: [PATCH] add smoke2: setup-go + npx + services --- .gitea/workflows/smoke2.yml | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .gitea/workflows/smoke2.yml diff --git a/.gitea/workflows/smoke2.yml b/.gitea/workflows/smoke2.yml new file mode 100644 index 0000000..63bbaf2 --- /dev/null +++ b/.gitea/workflows/smoke2.yml @@ -0,0 +1,48 @@ +name: smoke2 +on: [push] +jobs: + tools: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "1.25.x" + - name: go check + run: | + go version + echo "GOROOT=$(go env GOROOT)" + - name: npm check + run: | + npm --version + timeout 180 npx --yes cowsay@1.6.0 "npm-ok" || echo "NPM_FAILED" + + svc: + runs-on: ubuntu-latest + services: + postgres: + image: postgres:17-alpine + env: + POSTGRES_DB: neoboard + POSTGRES_USER: neoboard + POSTGRES_PASSWORD: integration-test + ports: + - 5433:5432 + options: >- + --health-cmd "pg_isready -U neoboard -d neoboard" + --health-interval 5s + --health-timeout 3s + --health-retries 20 + redis: + image: redis:7-alpine + ports: + - 6380:6379 + steps: + - name: wait and probe + run: | + for i in $(seq 1 30); do + if bash -c 'echo > /dev/tcp/127.0.0.1/5433' 2>/dev/null; then echo "PG_UP after ${i}s"; break; fi + sleep 2 + done + bash -c 'echo > /dev/tcp/127.0.0.1/5433' 2>/dev/null && echo "PG_REACHABLE" || echo "PG_UNREACHABLE" + bash -c 'echo > /dev/tcp/127.0.0.1/6380' 2>/dev/null && echo "REDIS_REACHABLE" || echo "REDIS_UNREACHABLE"