Skip to content

Merge pull request #71 from naiba/feat/sync-seeded-translations #228

Merge pull request #71 from naiba/feat/sync-seeded-translations

Merge pull request #71 from naiba/feat/sync-seeded-translations #228

Workflow file for this run

name: Test
on:
push:
branches: [main]
tags: ['v*']
pull_request:
jobs:
server-test:
name: Go Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25"
cache-dependency-path: server/go.sum
- name: Install SQLite
run: sudo apt-get install -y gcc sqlite3 libsqlite3-dev
- name: Download dependencies
working-directory: ./server
run: go mod download
- name: Install swag
run: go install github.com/swaggo/swag/cmd/swag@latest
- name: Generate Swagger docs
working-directory: ./server
run: swag init -g cmd/server/main.go -o docs --parseDependency --parseInternal
- name: Vet
working-directory: ./server
run: go vet ./...
- name: Test
working-directory: ./server
run: go test ./... -v -count=1 -coverprofile=coverage.out
- name: Build
working-directory: ./server
run: CGO_ENABLED=1 go build -o bin/bonds-server cmd/server/main.go
web-test:
name: Frontend Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25"
cache-dependency-path: server/go.sum
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install swag
run: go install github.com/swaggo/swag/cmd/swag@latest
- name: Generate Swagger docs
working-directory: ./server
run: swag init -g cmd/server/main.go -o docs --parseDependency --parseInternal
- name: Install dependencies
working-directory: ./web
run: bun install
- name: Generate API client
working-directory: ./web
run: bun run gen:api
- name: Lint
working-directory: ./web
run: bun run lint
- name: Unit tests
working-directory: ./web
run: bun run test
- name: Build
working-directory: ./web
run: bun run build
e2e-test:
name: E2E Tests
runs-on: ubuntu-latest
needs: [server-test, web-test]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25"
cache-dependency-path: server/go.sum
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install SQLite
run: sudo apt-get install -y gcc sqlite3 libsqlite3-dev
- name: Download Go dependencies
working-directory: ./server
run: go mod download
- name: Install swag
run: go install github.com/swaggo/swag/cmd/swag@latest
- name: Generate Swagger docs
working-directory: ./server
run: swag init -g cmd/server/main.go -o docs --parseDependency --parseInternal
- name: Build server
working-directory: ./server
run: CGO_ENABLED=1 go build -o bin/bonds-server cmd/server/main.go
- name: Install frontend deps
working-directory: ./web
run: bun install
- name: Generate API client
working-directory: ./web
run: bun run gen:api
- name: Install Playwright
working-directory: ./web
run: bunx playwright install --with-deps chromium
- name: Run E2E tests
working-directory: ./web
run: bunx playwright test
env:
CI: true
timeout-minutes: 30