Skip to content

feat: file-tool verification diffs, TUI model picker, and file viewer… #2536

feat: file-tool verification diffs, TUI model picker, and file viewer…

feat: file-tool verification diffs, TUI model picker, and file viewer… #2536

Workflow file for this run

name: Build
on:
push:
branches: ['**']
pull_request:
branches: [main, goadk_migration]
permissions:
contents: read
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version: '24'
cache: 'npm'
cache-dependency-path: web/package-lock.json
- name: Build frontend
run: |
cd web
rm -rf dist # Clean any old dist folders
npm ci
npm run build
echo "Built to: $(ls dist/)"
- name: Run frontend tests
run: npx vitest run
working-directory: web
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
cache: false # Disable to ensure fresh embed of web/dist
- name: Download dependencies
run: go mod download
- name: Build
run: |
# Force Go to see embed.go as modified so it re-embeds the dist folder
touch web/embed.go
go clean -cache
go build -v -o astonish .
- name: Build tree-sitter native library
run: |
sudo apt-get update
# ripgrep: required by pkg/tools grep_search/find_files integration tests
# (context, type filter, .gitignore). Not present on ubuntu-latest by default.
sudo apt-get install -y --no-install-recommends build-essential ripgrep
make -C pkg/codeintel/native
test -f pkg/codeintel/native/dist/libastonish-treesitter.so
command -v rg
- name: Run tests
env:
ASTONISH_TREESITTER_LIB: ${{ github.workspace }}/pkg/codeintel/native/dist/libastonish-treesitter.so
run: go test -v -coverprofile=coverage.out ./...
- name: Display coverage summary
run: go tool cover -func=coverage.out | tail -1