Repository navigation
62 lines (57 loc) · 2.49 KB
/
Copy pathllama.cpp-examples.yml
File metadata and controls
62 lines (57 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# llama.cpp examples guard - project thin trigger.
#
# Calls the common engine .github/workflows/examples-template.yml;
# this file only declares what varies per project: schedule,
# concurrency, upstream repo, dispatch input forwarding, and matrix
# parallelism. The guard loop lives in the engine. See
# examples-guards/README.md.
name: llama.cpp-examples
concurrency:
# Three groups: schedule runs serialize; each PR serializes per number
# so a new push cancels the stale run; each manual run stands alone.
# Group names are repository-wide, so the PR group carries the project
# name. A bare pr-<number> would let two projects on one PR cancel
# each other.
group: ${{ github.event_name == 'schedule' && 'llama.cpp-examples-schedule' || (github.event_name == 'pull_request' && format('llama.cpp-examples-pr-{0}', github.event.pull_request.number)) || format('manual-{0}', github.run_id) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
on:
# Daily at 03:00 Beijing time (UTC 19:00), one hour after
# accelerate-examples. The source repo's llama.cpp-examples cron should
# be turned off once this is on main, so the two guards do not both
# take NPUs.
schedule:
- cron: '0 19 * * *'
workflow_dispatch:
inputs:
target_ref:
description: Branch, tag, or SHA to test (empty = latest upstream release; falls back to master on API failure)
required: false
default: ''
type: string
# PR runs need no merge: GitHub executes the workflow files from the
# PR merge ref. paths lists only this project's files, so a PR that
# touches only the shared engine starts no matrix here.
pull_request:
branches: [main]
types: [opened, synchronize, reopened]
paths:
- 'examples-guards/llama.cpp/**'
- '.github/workflows/llama.cpp-examples.yml'
permissions:
actions: read
contents: read
jobs:
# Job ids cannot contain '.'. The project name stays llama.cpp; that
# string is what artifacts and examples-guards paths use.
llama-cpp-examples:
uses: ./.github/workflows/examples-template.yml
with:
project: llama.cpp
upstream_repo: ggml-org/llama.cpp
# Upstream's default branch is master. The engine's own default is
# main, which 404s when a release lookup falls back.
default_branch: master
target_ref: ${{ inputs.target_ref }}
# 9 supported entries, all single-card. 4 leaves room on the
# shared pool while the Qwen GGUF lock serializes the first download.
max_parallel: 4