-
Notifications
You must be signed in to change notification settings - Fork 0
68 lines (66 loc) · 3.23 KB
/
Copy pathpullfrog.yml
File metadata and controls
68 lines (66 loc) · 3.23 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
63
64
65
66
67
68
# PULLFROG ACTION — DO NOT EDIT EXCEPT WHERE INDICATED
#
# Dispatched by Pullfrog's control plane, never by a pull_request event, and always against
# `main` -- so this file governs a trial run only once it is on the default branch, and a
# pull request changing it is not reviewed by its own copy. The same trap
# claude-pr-review.yml carries, for the same reason.
#
# Every deviation from the console-generated file is below, and each one is deliberate:
#
# env: removed entirely The generated file maps ten provider secrets, ANTHROPIC_API_KEY
# among them, which would hand the org secret that gates the
# production reviewer to a third-party agent and let auto-select
# quietly run this trial on Claude. The rest name secrets that do
# not exist, and a workflow env: value *wins* over a
# Pullfrog-stored key -- so an empty mapping would override the
# console's OPENAI_API_KEY and fail every run with "Missing API
# key". The key lives in the Pullfrog console instead, which also
# keeps rotation and model changes off this file.
# push: disabled The trial reviews and does nothing else. Read-only at the
# action, so it holds even if a console toggle flips.
# shell: restricted Already the default for a public repo; stated so it survives
# the repo going private.
# progress_comments: The reviewer next door reads the PR conversation into its
# disabled prompt, where a live task list is context it pays for.
# timeout: 20m A review is not an hour of work; the reviewer beside it is
# capped at 15 minutes.
# checkout pinned This repository pins every action to an exact patch version.
# pullfrog/pullfrog stays on @v0 on the vendor's own advice: the
# action is a bootstrap that floats the agent from npm, so a SHA
# pin freezes only the post-run cleanup step and goes stale into
# runs that fail after the agent has finished its work.
name: Pullfrog
run-name: ${{ inputs.name || github.workflow }}
on:
workflow_dispatch:
inputs:
prompt:
type: string
description: Agent prompt
name:
type: string
description: Run name
permissions:
contents: read
jobs:
pullfrog:
runs-on: ubuntu-latest
permissions:
# The only two the action needs: id-token to mint its own short-lived installation
# tokens over OIDC, contents to clone. It never uses this job's GITHUB_TOKEN, so
# nothing here grants it the ability to comment, review, or push.
id-token: write
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v6.0.2
with:
fetch-depth: 1
- name: Run agent
uses: pullfrog/pullfrog@v0
with:
prompt: ${{ inputs.prompt }}
push: disabled
shell: restricted
progress_comments: disabled
timeout: 20m