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: 4 additions & 7 deletions .github/workflows/tutorial-evaluation-scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
learning_path: tutorial/absence-of-change
- tutorial: risky-containers
devcontainer: .devcontainer/risky-containers/devcontainer.json
docs_path: docs/content/tutorials/risky-containers
docs_path: docs/content/drasi-kubernetes/tutorials/risky-containers
learning_path: tutorial/risky-containers

steps:
Expand Down Expand Up @@ -83,8 +83,7 @@ jobs:
--deny-tool 'shell(rm -rf /*)' \
--deny-tool 'shell(dd *)' \
--allow-url localhost \
--allow-url 127.0.0.1 \
--model claude-opus-4.7 || true
--allow-url 127.0.0.1 || true
Comment thread
ruokun-niu marked this conversation as resolved.
Dismissed
Comment thread
ruokun-niu marked this conversation as resolved.
REPORT=$(find . -name "report.md" -path "*/evaluation-*/*" | sort -r | head -1)
if [ -z "$REPORT" ] || ! grep -qiE "^##\s*STATUS:\s*SUCCESS" "$REPORT"; then
exit 1
Expand Down Expand Up @@ -126,8 +125,7 @@ jobs:
--deny-tool 'shell(rm -rf /*)' \
--deny-tool 'shell(dd *)' \
--allow-url localhost \
--allow-url 127.0.0.1 \
--model claude-opus-4.7 || true
--allow-url 127.0.0.1 || true
Comment thread
ruokun-niu marked this conversation as resolved.
Dismissed
REPORT=$(find . -name "report.md" -path "*/evaluation-*/*" | sort -r | head -1)
if [ -z "$REPORT" ] || ! grep -qiE "^##\s*STATUS:\s*SUCCESS" "$REPORT"; then
exit 1
Expand Down Expand Up @@ -168,8 +166,7 @@ jobs:
--deny-tool 'shell(rm -rf /*)' \
--deny-tool 'shell(dd *)' \
--allow-url localhost \
--allow-url 127.0.0.1 \
--model claude-opus-4.7 || true
--allow-url 127.0.0.1 || true
Comment thread
ruokun-niu marked this conversation as resolved.
Dismissed
REPORT=$(find . -name "report.md" -path "*/evaluation-*/*" | sort -r | head -1)
if [ -z "$REPORT" ] || ! grep -qiE "^##\s*STATUS:\s*SUCCESS" "$REPORT"; then
exit 1
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/tutorial-evaluation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ on:
description: 'Branch from docs repo to use'
default: 'main'
model:
description: 'AI model to use for evaluation'
default: 'claude-opus-4.7'
description: 'Optional model override (leave blank for Copilot CLI default)'
type: string
required: false
default: ''

jobs:
setup:
Expand Down Expand Up @@ -65,7 +67,7 @@ jobs:
;;
risky-containers)
echo "devcontainer=.devcontainer/risky-containers/devcontainer.json" >> $GITHUB_OUTPUT
echo "docs_path=docs/content/tutorials/risky-containers" >> $GITHUB_OUTPUT
echo "docs_path=docs/content/drasi-kubernetes/tutorials/risky-containers" >> $GITHUB_OUTPUT
echo "learning_path=tutorial/risky-containers" >> $GITHUB_OUTPUT
;;
*)
Expand Down Expand Up @@ -102,10 +104,17 @@ jobs:
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_PAT_TOKEN }}
DRASI_TUTORIAL_EVALUATION: "true"
EVALUATION_MODEL: ${{ inputs.model }}
with:
configFile: ${{ needs.setup.outputs.devcontainer }}
push: never
env: |
EVALUATION_MODEL
runCmd: |
set --
if [ -n "$EVALUATION_MODEL" ]; then
set -- --model "$EVALUATION_MODEL"
fi
timeout 1200 copilot -p "$(cat prompt.md)" \
--allow-all-tools \
--allow-all-paths \
Expand All @@ -123,7 +132,7 @@ jobs:
--deny-tool 'shell(dd *)' \
--allow-url localhost \
--allow-url 127.0.0.1 \
--model ${{ inputs.model }}
"$@"

- name: Check evaluation status
if: always()
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ This repo contains code for a tutorial and a few sample applications that use Dr

[The step-by-step tutorial linked here](https://drasi.io/getting-started/) will help you get Drasi up and running quickly and show you how easy it is to create Sources, Continuous Queries, and Reactions.

## Automated Tutorial Evaluation

The [manual evaluation workflow](.github/workflows/tutorial-evaluation.yml) and
[scheduled evaluation workflow](.github/workflows/tutorial-evaluation-scheduled.yml)
use Copilot CLI's default model rather than a pinned model ID. The manual workflow
accepts an optional `model` input to override that default; leave it blank to use
the CLI default. Scheduled evaluations always use the CLI default.

## Sample Applications
Following sample applications demonstrate usage of Drasi in different scenarios:
1. [Building comfort](apps/building-comfort)- Drasi for a building management scenario
Expand Down
Loading