Skip to content

Release v1.1.0

Release v1.1.0 #484

Workflow file for this run

name: CI
on:
push:
branches:
- "main"
paths:
- "docker/**"
- "lib/**"
- "macos/**"
- "pkg/**"
- "plugins/**"
- "scripts/**"
- "ui/**"
- "go.mod"
- "go.sum"
pull_request:
branches:
- "main"
paths:
- "docker/**"
- "lib/**"
- "macos/**"
- "pkg/**"
- "plugins/**"
- "scripts/**"
- "ui/**"
- "go.mod"
- "go.sum"
workflow_dispatch:
inputs:
branch:
description: "Branch, tag, or commit SHA to run CI against"
required: true
default: "main"
type: string
jobs:
test:
name: Build and Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.branch || github.ref }}
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.26.0"
cache: true
- name: Install dependencies
run: go mod download
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
cache-dependency-path: ui/package-lock.json
- name: Build UI assets
run: |
cd ui
npm ci
npm run build
- name: Prepare llama CPU libs
run: bash scripts/hydrate-llama-cpu-libs.sh
- name: Build
run: make build
- name: Test
run: |
set -o pipefail
make test-serial 2>&1 | grep -E 'FAIL|ok'
coverage:
name: Coverage
runs-on: ubuntu-latest
needs: test
continue-on-error: true
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.branch || github.ref }}
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.26.0"
cache: true
- name: Install dependencies
run: go mod download
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
cache-dependency-path: ui/package-lock.json
- name: Build UI assets
run: |
cd ui
npm ci
npm run build
- name: Prepare llama CPU libs
run: bash scripts/hydrate-llama-cpu-libs.sh
- name: Generate coverage report
run: |
bash scripts/generate-coverage.sh coverage.raw.out coverage.out
- name: Install goveralls
run: go install github.com/mattn/goveralls@latest
- name: Upload coverage to Coveralls
if: ${{ env.COVERALLS_REPO_TOKEN != '' }}
run: |
"$(go env GOPATH)/bin/goveralls" \
-coverprofile=coverage.out \
-service=github \
-repotoken="$COVERALLS_REPO_TOKEN"