Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion doc/howto/QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,20 @@ Every change writes all of its files into one folder under `demo/`, and `FOLDERS

Set it deliberately when you want a run to show one thing. `FOLDERS=1` puts every change in the same place, so the queue serializes the lot and each change speculates on the one before it. A number well above `COUNT` keeps them all apart, so they go out together.

How much speculation that turns into is capped by the queue's **build budget** — how many builds it may have occupying CI at once, counted across every in-flight batch rather than per batch. It defaults to 4 and is set per queue in the provider's `profiles.yaml`:
How much speculation that turns into is capped by the queue's **build budget** — how many builds it may have occupying CI at once, counted across every in-flight batch rather than per batch. It defaults to 4 and is set per queue in the provider's `profiles.yaml`. The demo also sets **evidence scorer factors** there so speculation ranking revises the base price when a path passes or fails or a batch is merging or cancelling; omitting `factors` leaves every factor at `1`, which is a no-op and ranks on the nested base alone.

```yaml
defaults:
speculator: {buildBudget: 4}
scorer:
type: evidence
factors:
pathPassed: 10
pathFailed: 0.3
merging: 12
cancelling: 0.1
base:
type: heuristic

queues:
- name: demo-queue
Expand Down
12 changes: 12 additions & 0 deletions service/submitqueue/demo/provider/fake/profiles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ defaults:
# 1 the queue explores one path at a time, and raising it lets it hedge more
# of the outcomes it is waiting on. Four is the built-in default.
speculator: {buildBudget: 4}
# Example evidence factors from the outcome-predictor RFC. Omitted keys would
# stay at 1 and ranking would stay on the base price; writing them out makes
# the demo show how path results and batch state revise that price.
scorer:
type: evidence
factors:
pathPassed: 10
pathFailed: 0.3
merging: 12
cancelling: 0.1
base:
type: heuristic

queues:
# The queue `make demo-requests` and `make land` use by default.
Expand Down
11 changes: 11 additions & 0 deletions service/submitqueue/demo/provider/git/profiles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ defaults:
buildRunner: {type: fake}
# Serialize conservatively unless a queue says otherwise.
analyzer: {type: all}
# Same example factors as ../fake/profiles.yaml — see that file for why they
# are written out rather than left at the neutral default of 1.
scorer:
type: evidence
factors:
pathPassed: 10
pathFailed: 0.3
merging: 12
cancelling: 0.1
base:
type: heuristic

queues:
# The queue `make demo-requests` and `make land` use by default. Serializes
Expand Down
11 changes: 11 additions & 0 deletions service/submitqueue/demo/provider/github/profiles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ defaults:
changeProvider: {type: fake}
buildRunner: {type: fake}
analyzer: {type: all}
# Same example factors as ../fake/profiles.yaml — see that file for why they
# are written out rather than left at the neutral default of 1.
scorer:
type: evidence
factors:
pathPassed: 10
pathFailed: 0.3
merging: 12
cancelling: 0.1
base:
type: heuristic

queues:
- name: demo-queue
Expand Down