name: Checks on: [push, pull_request] jobs: verify: runs-on: ubuntu-latest services: postgres: image: postgres:17 env: POSTGRES_USER: veyra_test POSTGRES_PASSWORD: test_only POSTGRES_DB: veyra_test ports: ["5432:5432"] options: >- --health-cmd "pg_isready -U veyra_test" --health-interval 5s --health-timeout 5s --health-retries 10 env: VEYRA_TEST_DATABASE_URL: postgres://veyra_test:test_only@127.0.0.1:5432/veyra_test?sslmode=disable steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache-dependency-path: go.sum - uses: actions/setup-python@v5 with: python-version: "3.12" - uses: actions/setup-node@v4 with: node-version: 22 cache: npm cache-dependency-path: | web/admin/package-lock.json apps/mobile/package-lock.json - run: npm --prefix web/admin ci - run: npm --prefix apps/mobile ci - run: npm --prefix apps/mobile run typecheck - run: npm --prefix apps/mobile run test - run: npm --prefix apps/mobile run build - run: npm --prefix web/admin run build - run: go build -trimpath -o bin/veyra . - run: go test -race ./... - run: go vet ./... - run: test -z "$(gofmt -l main.go internal)"