Skip to content

chore: modernize .gitignore, drop stale DocsContext entries #73

chore: modernize .gitignore, drop stale DocsContext entries

chore: modernize .gitignore, drop stale DocsContext entries #73

Workflow file for this run

name: ci
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
test:
name: test (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
env:
CGO_ENABLED: "1"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.22'
# mattn/go-sqlite3 needs a C compiler. Ubuntu has gcc by default;
# macOS has Xcode CLT on GitHub runners.
- name: Assert C toolchain (macOS)
if: runner.os == 'macOS'
run: clang --version
- name: Go build cache
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/Library/Caches/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: go vet (cgo + fts5)
run: CGO_ENABLED=1 go vet -tags sqlite_fts5 $(go list ./... | grep -v /ui/node_modules/)
- name: go test (cgo + fts5)
run: CGO_ENABLED=1 go test -tags sqlite_fts5 -timeout 300s $(go list ./... | grep -v /ui/node_modules/)
- name: go build (cgo + fts5)
run: CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq ./
- name: Upload docsiq binary
uses: actions/upload-artifact@v4
with:
name: docsiq-${{ matrix.os }}
path: docsiq
retention-days: 7
if-no-files-found: error
test-integration:
name: integration tests (-race)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: cache go build
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: go-integ-${{ hashFiles('go.sum') }}
- name: integration tests
run: CGO_ENABLED=1 go test -tags "sqlite_fts5 integration" -race -timeout 600s ./...
ui-freshness:
name: ui-dist freshness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: ui/package-lock.json
- name: Install UI dependencies
run: npm --prefix ui ci
- name: Build UI
run: npm --prefix ui run build
- name: vitest
run: npm --prefix ui test -- --run --coverage
- name: verify ui/dist/ matches fresh build
run: |
if ! git diff --exit-code -- ui/dist/; then
echo "::error::ui/dist/ is stale. Run 'npm --prefix ui run build' and commit the result."
exit 1
fi