Skip to content

chore(main): release 1.4.4 #189

chore(main): release 1.4.4

chore(main): release 1.4.4 #189

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
unit-test:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- name: Download dependencies
run: go mod download
- name: Run tests
run: go test -v -race -coverprofile=coverage.out ./...
- name: Upload coverage
uses: actions/upload-artifact@v7
with:
name: coverage
path: coverage.out
e2e-test:
name: E2E Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Install dependencies
run: |
go mod download
npm install
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
- name: Build application
run: go build -o server ./cmd/server
- name: Start test environment
run: docker compose -f docker-compose.yml up -d --build
- name: Wait for services
run: |
echo "Waiting for services to be ready..."
sleep 10
- name: Run E2E tests
run: npx playwright test --project=chromium
- name: Upload test results
uses: actions/upload-artifact@v7
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 7
- name: Stop test environment
if: always()
run: docker compose -f docker-compose.yml down -v
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: latest