Release v1.1.0 #484
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |