Skip to content

Avoid strict pending reads on browse cache misses #352

Avoid strict pending reads on browse cache misses

Avoid strict pending reads on browse cache misses #352

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Install dolt
run: curl -fsSL -o /tmp/install-dolt.sh https://github.com/dolthub/dolt/releases/latest/download/install.sh && sudo bash /tmp/install-dolt.sh
- name: Configure dolt
run: |
dolt config --global --add user.email "ci@wasteland.dev"
dolt config --global --add user.name "CI"
- name: Install tools
run: make install-tools
- name: Lint
run: make lint
- name: Format
run: make fmt-check
- name: Vet
run: make vet
- name: Test
run: make test-cover
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: coverage.txt
flags: go
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
web-check:
name: Web Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: cd web && bun install --frozen-lockfile
- name: Typecheck
run: cd web && bun run tsc --noEmit
- name: Lint
run: cd web && bun run biome check src/
- name: Test
run: cd web && bun run vitest run --coverage
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
files: web/coverage/lcov.info
flags: web
token: ${{ secrets.CODECOV_TOKEN }}
web-e2e:
name: Web E2E
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- uses: oven-sh/setup-bun@v2
- name: Install web deps
run: cd web && bun install --frozen-lockfile
- name: Install Playwright browser
run: cd web && bunx playwright install --with-deps chromium
- name: Run Playwright e2e
run: cd web && bun run test:e2e
audit:
name: Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Go vulnerability check
run: govulncheck ./...
- uses: oven-sh/setup-bun@v2
- name: Install web deps
run: cd web && bun install --frozen-lockfile
- name: Web dependency audit
continue-on-error: true
run: cd web && bun audit
integration-offline:
name: Integration (offline)
needs: check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Install dolt
run: curl -fsSL -o /tmp/install-dolt.sh https://github.com/dolthub/dolt/releases/latest/download/install.sh && sudo bash /tmp/install-dolt.sh
- name: Configure dolt
run: |
dolt config --global --add user.email "ci@wasteland.dev"
dolt config --global --add user.name "CI"
- name: Offline integration tests
run: make test-integration-offline
integration:
name: Integration (DoltHub)
needs: check
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Install dolt
run: curl -fsSL -o /tmp/install-dolt.sh https://github.com/dolthub/dolt/releases/latest/download/install.sh && sudo bash /tmp/install-dolt.sh
- name: Integration tests
run: make test-integration