Skip to content

chore(deps): bump the webapp-dependencies group across 1 directory with 19 updates #85

chore(deps): bump the webapp-dependencies group across 1 directory with 19 updates

chore(deps): bump the webapp-dependencies group across 1 directory with 19 updates #85

Workflow file for this run

name: PR Tests
on:
pull_request:
branches:
- '*'
workflow_dispatch:
inputs:
reason:
description: 'Reason for manual test run'
required: false
default: 'Manual PR tests run'
permissions:
contents: read
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- name: Run unit tests
run: make test-unit
integration-tests:
name: Integration Tests (No Auth)
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- name: Start PostgreSQL
run: docker compose up -d postgres
- name: Wait for PostgreSQL
run: |
until docker compose ps postgres | grep -q "healthy"; do
echo "Waiting for PostgreSQL to be healthy..."
sleep 2
done
- name: Run DB migrations
run: make db-migrate
- name: Run integration tests (no auth)
run: make test-integration
- name: Cleanup
if: always()
run: docker compose down -v
integration-tests-sqlite:
name: Integration Tests (SQLite)
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- name: Build gridapi
run: make build
- name: Run integration tests with SQLite
run: make test-integration-sqlite
integration-tests-mode2:
name: Integration Tests (Mode2)
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- name: Start PostgreSQL
run: docker compose up -d postgres
- name: Wait for PostgreSQL
run: |
until docker compose ps postgres | grep -q "healthy"; do
echo "Waiting for PostgreSQL to be healthy..."
sleep 2
done
- name: Run DB migrations
run: make db-migrate
- name: Run integration tests (mode2)
run: make test-integration-mode2
- name: Cleanup
if: always()
run: docker compose down -v
frontend-tests:
name: Frontend Tests (webapp)
runs-on: ubuntu-24.04
continue-on-error: true # Allow failure - known TypeScript issues tracked in grid-c56c
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: 'pnpm-lock.yaml'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build JS SDK
working-directory: ./js/sdk
run: pnpm run build
# - name: Type check
# working-directory: ./webapp
# run: pnpm run typecheck
# - name: Lint
# working-directory: ./webapp
# run: pnpm run lint
- name: Test
working-directory: ./webapp
run: pnpm run test
- name: Build
working-directory: ./webapp
run: pnpm run build
js-sdk-tests:
name: JS SDK Tests
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: 'pnpm-lock.yaml'
- name: Install dependencies
run: pnpm install --frozen-lockfile
# # TODO Fix missing eslint config
# - name: Lint
# working-directory: ./js/sdk
# run: pnpm run lint
- name: Build
working-directory: ./js/sdk
run: pnpm run build
- name: Test
working-directory: ./js/sdk
run: pnpm run test
go-lint:
name: Go Linting
runs-on: ubuntu-24.04
continue-on-error: true # Allow failure - known linting issues tracked in grid-bb5c
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- name: Install golangci-lint
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
- name: Run golangci-lint on each module
run: |
MODULES=$(go list -f '{{.Dir}}' -m $(go work use -r))
for module in $MODULES; do
echo "Linting $module..."
(cd "$module" && golangci-lint run --timeout=5m)
done
buf-lint:
name: Buf Lint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Run buf lint
run: buf lint
buf-breaking:
name: Buf Breaking Changes
runs-on: ubuntu-24.04
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Fetch base branch
run: git fetch origin ${{ github.base_ref }}:${{ github.base_ref }} --no-tags
- uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Check for breaking changes
run: buf breaking --against '.git#branch=${{ github.base_ref }}'
generated-code-check:
name: Generated Code Freshness
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.work
cache: true
cache-dependency-path: |
**/go.sum
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: 'pnpm-lock.yaml'
- uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Install JS dependencies
run: pnpm install --frozen-lockfile
- name: Run buf generate
run: buf generate
- name: Check for uncommitted changes
run: |
if ! git diff --quiet; then
echo "❌ Generated code is out of date!"
echo "Please run 'buf generate' and commit the changes."
echo ""
echo "Changed files:"
git diff --name-only
echo ""
echo "Diff:"
git diff
exit 1
fi
echo "✅ Generated code is up to date"