@vypdev/copilot 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +63 -0
- package/action.yml +555 -0
- package/build/cli/index.js +79640 -0
- package/build/github_action/index.js +71782 -0
- package/package.json +86 -0
- package/scripts/install-git-hooks.cjs +36 -0
- package/setup/ISSUE_TEMPLATE/bug_report.yml +100 -0
- package/setup/ISSUE_TEMPLATE/chore_task.yml +79 -0
- package/setup/ISSUE_TEMPLATE/config.yml +5 -0
- package/setup/ISSUE_TEMPLATE/doc_update.yml +71 -0
- package/setup/ISSUE_TEMPLATE/feature_request.yml +113 -0
- package/setup/ISSUE_TEMPLATE/help_request.yml +72 -0
- package/setup/ISSUE_TEMPLATE/hotfix.yml +64 -0
- package/setup/ISSUE_TEMPLATE/release.yml +51 -0
- package/setup/pull_request_template.md +144 -0
- package/setup/workflows/agent-cli-provisioning.yml +54 -0
- package/setup/workflows/copilot_commit.yml +57 -0
- package/setup/workflows/copilot_issue.yml +61 -0
- package/setup/workflows/copilot_issue_comment.yml +63 -0
- package/setup/workflows/copilot_pull_request.yml +60 -0
- package/setup/workflows/copilot_pull_request_comment.yml +63 -0
- package/setup/workflows/hotfix_workflow.yml +212 -0
- package/setup/workflows/release_workflow.yml +212 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Thank you for opening a Pull Request ๐
|
|
3
|
+
Please fill out this template as completely as possible.
|
|
4
|
+
Clear PRs = faster reviews = better software.
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# ๐ Summary
|
|
8
|
+
<!--
|
|
9
|
+
Briefly explain what this PR does and why it is needed.
|
|
10
|
+
Focus on the intent, not the implementation details.
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ๐ฏ Related Issues / Tickets
|
|
16
|
+
<!--
|
|
17
|
+
Link any related issues, tickets, or discussions.
|
|
18
|
+
Use GitHub keywords to auto-close issues when merged.
|
|
19
|
+
-->
|
|
20
|
+
- Closes #
|
|
21
|
+
- Related to #
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## ๐งฉ Scope of Changes
|
|
26
|
+
<!--
|
|
27
|
+
Describe the scope and nature of the changes at a high level.
|
|
28
|
+
-->
|
|
29
|
+
- Added:
|
|
30
|
+
- Updated:
|
|
31
|
+
- Removed:
|
|
32
|
+
- Refactored:
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## ๐ ๏ธ Technical Details
|
|
37
|
+
<!--
|
|
38
|
+
Explain important technical decisions, trade-offs, or architecture changes.
|
|
39
|
+
Include anything that may not be obvious from reading the code.
|
|
40
|
+
-->
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ๐ How to Test
|
|
45
|
+
<!--
|
|
46
|
+
Provide clear, step-by-step instructions to test this change.
|
|
47
|
+
Assume the reviewer is unfamiliar with the context.
|
|
48
|
+
-->
|
|
49
|
+
1.
|
|
50
|
+
2.
|
|
51
|
+
3.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## ๐งช Test Coverage
|
|
56
|
+
<!--
|
|
57
|
+
Indicate what types of tests were added or updated.
|
|
58
|
+
-->
|
|
59
|
+
- [ ] Unit tests
|
|
60
|
+
- [ ] Integration tests
|
|
61
|
+
- [ ] End-to-end (E2E) tests
|
|
62
|
+
- [ ] Manual testing only (explain why)
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## ๐ธ Screenshots / Recordings (UI changes only)
|
|
67
|
+
<!--
|
|
68
|
+
Include before/after screenshots or short videos if this PR affects the UI.
|
|
69
|
+
-->
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## โ ๏ธ Breaking Changes
|
|
74
|
+
<!--
|
|
75
|
+
List any breaking changes and required migration steps.
|
|
76
|
+
If none, state "None".
|
|
77
|
+
-->
|
|
78
|
+
- None
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## ๐ Deployment Notes
|
|
83
|
+
<!--
|
|
84
|
+
Anything required or important during deployment:
|
|
85
|
+
- environment variables
|
|
86
|
+
- database migrations
|
|
87
|
+
- feature flags
|
|
88
|
+
- deployment order
|
|
89
|
+
-->
|
|
90
|
+
- [ ] Requires database migration
|
|
91
|
+
- [ ] Requires environment variable changes
|
|
92
|
+
- [ ] Requires feature flag toggle
|
|
93
|
+
- [ ] No special deployment steps
|
|
94
|
+
|
|
95
|
+
Details:
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ๐ Security Considerations
|
|
100
|
+
<!--
|
|
101
|
+
Mention any security-related implications or validations.
|
|
102
|
+
-->
|
|
103
|
+
- [ ] No security impact
|
|
104
|
+
- [ ] Input validation changes
|
|
105
|
+
- [ ] Authentication / authorization changes
|
|
106
|
+
- [ ] Sensitive data handling changes
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## ๐ Performance Impact
|
|
111
|
+
<!--
|
|
112
|
+
Describe any performance considerations, improvements, or regressions.
|
|
113
|
+
-->
|
|
114
|
+
- [ ] No performance impact
|
|
115
|
+
- [ ] Improves performance
|
|
116
|
+
- [ ] Potential performance regression (explain)
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## ๐ Notes for Reviewers
|
|
121
|
+
<!--
|
|
122
|
+
Highlight areas that need special attention or context for reviewers.
|
|
123
|
+
-->
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## โ
Checklist
|
|
128
|
+
<!--
|
|
129
|
+
Confirm all items before requesting review.
|
|
130
|
+
-->
|
|
131
|
+
- [ ] I have self-reviewed my code
|
|
132
|
+
- [ ] Code follows project standards and conventions
|
|
133
|
+
- [ ] Tests have been added or updated
|
|
134
|
+
- [ ] Documentation has been updated (if applicable)
|
|
135
|
+
- [ ] No new warnings or lint errors
|
|
136
|
+
- [ ] Changes are backward compatible or breaking changes are documented
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## ๐ Additional Context
|
|
141
|
+
<!--
|
|
142
|
+
Any extra information that may help reviewers understand this PR.
|
|
143
|
+
Links, references, or follow-up work.
|
|
144
|
+
-->
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Agent CLI Provisioning Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
workflow_call:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
verify-agent-clis:
|
|
9
|
+
name: Verify provisioned agent CLIs
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 10
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout repository
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
|
+
|
|
18
|
+
- name: Verify selected CLI binary and headless contract
|
|
19
|
+
shell: bash
|
|
20
|
+
env:
|
|
21
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
22
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
23
|
+
run: |
|
|
24
|
+
set -euo pipefail
|
|
25
|
+
|
|
26
|
+
if [[ -n "${AGENT_COMMAND// }" ]]; then
|
|
27
|
+
read -r executable _ <<< "$AGENT_COMMAND"
|
|
28
|
+
command -v "$executable"
|
|
29
|
+
echo "Configured agent command: $executable"
|
|
30
|
+
else
|
|
31
|
+
case "$AGENT_PROVIDER" in
|
|
32
|
+
opencode)
|
|
33
|
+
command -v opencode
|
|
34
|
+
opencode --version >/dev/null
|
|
35
|
+
opencode run --help >/dev/null
|
|
36
|
+
;;
|
|
37
|
+
codex)
|
|
38
|
+
command -v codex
|
|
39
|
+
codex --version >/dev/null
|
|
40
|
+
codex exec --help >/dev/null
|
|
41
|
+
;;
|
|
42
|
+
cursor)
|
|
43
|
+
command -v agent
|
|
44
|
+
agent --version >/dev/null
|
|
45
|
+
agent --help >/dev/null
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
echo "Unsupported AGENT_PROVIDER: $AGENT_PROVIDER" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
;;
|
|
51
|
+
esac
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
echo "Agent CLI contract passed for $AGENT_PROVIDER."
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: Copilot - Commit
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- '**'
|
|
7
|
+
- '!master'
|
|
8
|
+
- '!develop'
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
copilot-commits:
|
|
12
|
+
name: Copilot - Commit
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
timeout-minutes: 120
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout Repository
|
|
17
|
+
uses: actions/checkout@v5
|
|
18
|
+
|
|
19
|
+
- uses: vypdev/copilot@v3
|
|
20
|
+
with:
|
|
21
|
+
debug: ${{ vars.DEBUG }}
|
|
22
|
+
project-ids: ${{ vars.PROJECT_IDS }}
|
|
23
|
+
agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
24
|
+
agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
25
|
+
agent-model: ${{ vars.AGENT_MODEL || 'gpt-5.6-luna' }}
|
|
26
|
+
agent-effort: ${{ vars.AGENT_EFFORT }}
|
|
27
|
+
agent-command: ${{ vars.AGENT_COMMAND }}
|
|
28
|
+
findings-provider: ${{ vars.FINDINGS_PROVIDER }}
|
|
29
|
+
findings-model-provider: ${{ vars.FINDINGS_MODEL_PROVIDER }}
|
|
30
|
+
findings-model: ${{ vars.FINDINGS_MODEL }}
|
|
31
|
+
findings-effort: ${{ vars.FINDINGS_EFFORT }}
|
|
32
|
+
findings-command: ${{ vars.FINDINGS_COMMAND }}
|
|
33
|
+
fixer-provider: ${{ vars.FIXER_PROVIDER }}
|
|
34
|
+
fixer-model-provider: ${{ vars.FIXER_MODEL_PROVIDER }}
|
|
35
|
+
fixer-model: ${{ vars.FIXER_MODEL }}
|
|
36
|
+
fixer-effort: ${{ vars.FIXER_EFFORT }}
|
|
37
|
+
fixer-command: ${{ vars.FIXER_COMMAND }}
|
|
38
|
+
token: ${{ secrets.PAT }}
|
|
39
|
+
env:
|
|
40
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
41
|
+
AGENT_MODEL_PROVIDER: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
42
|
+
AGENT_MODEL: ${{ vars.AGENT_MODEL }}
|
|
43
|
+
AGENT_EFFORT: ${{ vars.AGENT_EFFORT }}
|
|
44
|
+
AGENT_PROVISIONING: ${{ vars.AGENT_PROVISIONING || 'auto' }}
|
|
45
|
+
AGENT_ALLOWED_MODEL_PROVIDERS: ${{ vars.AGENT_ALLOWED_MODEL_PROVIDERS || 'openai' }}
|
|
46
|
+
AGENT_ALLOWED_MODELS: ${{ vars.AGENT_ALLOWED_MODELS || 'openai/gpt-5.6-luna' }}
|
|
47
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
48
|
+
CODEX_VERSION: ${{ vars.CODEX_VERSION }}
|
|
49
|
+
OPENCODE_VERSION: ${{ vars.OPENCODE_VERSION }}
|
|
50
|
+
CURSOR_INSTALLER_SHA256: ${{ vars.CURSOR_INSTALLER_SHA256 }}
|
|
51
|
+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
52
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
53
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
54
|
+
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
55
|
+
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
56
|
+
CURSOR_API_KEY: ${{ (vars.AGENT_PROVIDER == 'cursor' || vars.FINDINGS_PROVIDER == 'cursor' || vars.FIXER_PROVIDER == 'cursor' || vars.PLANNER_PROVIDER == 'cursor' || vars.REVIEWER_PROVIDER == 'cursor' || vars.TESTER_PROVIDER == 'cursor' || vars.RELEASE_PROVIDER == 'cursor') && secrets.CURSOR_API_KEY || '' }}
|
|
57
|
+
CODEX_ACCESS_TOKEN: ${{ secrets.CODEX_ACCESS_TOKEN }}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Copilot - Issue
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [opened, reopened, edited, labeled, unlabeled, assigned, unassigned]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
copilot-issues:
|
|
9
|
+
name: Copilot - Issue
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 120
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout Repository
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
|
+
|
|
18
|
+
- uses: vypdev/copilot@v3
|
|
19
|
+
with:
|
|
20
|
+
ai-ignore-files: build/*
|
|
21
|
+
debug: ${{ vars.DEBUG }}
|
|
22
|
+
agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
23
|
+
agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
24
|
+
agent-model: ${{ vars.AGENT_MODEL || 'gpt-5.6-luna' }}
|
|
25
|
+
agent-effort: ${{ vars.AGENT_EFFORT }}
|
|
26
|
+
agent-command: ${{ vars.AGENT_COMMAND }}
|
|
27
|
+
findings-provider: ${{ vars.FINDINGS_PROVIDER }}
|
|
28
|
+
findings-model-provider: ${{ vars.FINDINGS_MODEL_PROVIDER }}
|
|
29
|
+
findings-model: ${{ vars.FINDINGS_MODEL }}
|
|
30
|
+
findings-effort: ${{ vars.FINDINGS_EFFORT }}
|
|
31
|
+
findings-command: ${{ vars.FINDINGS_COMMAND }}
|
|
32
|
+
fixer-provider: ${{ vars.FIXER_PROVIDER }}
|
|
33
|
+
fixer-model-provider: ${{ vars.FIXER_MODEL_PROVIDER }}
|
|
34
|
+
fixer-model: ${{ vars.FIXER_MODEL }}
|
|
35
|
+
fixer-effort: ${{ vars.FIXER_EFFORT }}
|
|
36
|
+
fixer-command: ${{ vars.FIXER_COMMAND }}
|
|
37
|
+
planner-provider: ${{ vars.PLANNER_PROVIDER }}
|
|
38
|
+
planner-model-provider: ${{ vars.PLANNER_MODEL_PROVIDER }}
|
|
39
|
+
planner-model: ${{ vars.PLANNER_MODEL }}
|
|
40
|
+
planner-effort: ${{ vars.PLANNER_EFFORT }}
|
|
41
|
+
planner-command: ${{ vars.PLANNER_COMMAND }}
|
|
42
|
+
token: ${{ secrets.PAT }}
|
|
43
|
+
env:
|
|
44
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
45
|
+
AGENT_MODEL_PROVIDER: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
46
|
+
AGENT_MODEL: ${{ vars.AGENT_MODEL }}
|
|
47
|
+
AGENT_EFFORT: ${{ vars.AGENT_EFFORT }}
|
|
48
|
+
AGENT_PROVISIONING: ${{ vars.AGENT_PROVISIONING || 'auto' }}
|
|
49
|
+
AGENT_ALLOWED_MODEL_PROVIDERS: ${{ vars.AGENT_ALLOWED_MODEL_PROVIDERS || 'openai' }}
|
|
50
|
+
AGENT_ALLOWED_MODELS: ${{ vars.AGENT_ALLOWED_MODELS || 'openai/gpt-5.6-luna' }}
|
|
51
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
52
|
+
CODEX_VERSION: ${{ vars.CODEX_VERSION }}
|
|
53
|
+
OPENCODE_VERSION: ${{ vars.OPENCODE_VERSION }}
|
|
54
|
+
CURSOR_INSTALLER_SHA256: ${{ vars.CURSOR_INSTALLER_SHA256 }}
|
|
55
|
+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
56
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
57
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
58
|
+
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
59
|
+
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
60
|
+
CURSOR_API_KEY: ${{ (vars.AGENT_PROVIDER == 'cursor' || vars.FINDINGS_PROVIDER == 'cursor' || vars.FIXER_PROVIDER == 'cursor' || vars.PLANNER_PROVIDER == 'cursor' || vars.REVIEWER_PROVIDER == 'cursor' || vars.TESTER_PROVIDER == 'cursor' || vars.RELEASE_PROVIDER == 'cursor') && secrets.CURSOR_API_KEY || '' }}
|
|
61
|
+
CODEX_ACCESS_TOKEN: ${{ secrets.CODEX_ACCESS_TOKEN }}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Copilot - Issue Comment
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issue_comment:
|
|
5
|
+
types: [created, edited]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
copilot-issues:
|
|
9
|
+
name: Copilot - Issue Comment
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 120
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout Repository
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
|
+
|
|
18
|
+
- uses: vypdev/copilot@v3
|
|
19
|
+
with:
|
|
20
|
+
ai-ignore-files: build/*
|
|
21
|
+
debug: ${{ vars.DEBUG }}
|
|
22
|
+
agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
23
|
+
agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
24
|
+
agent-model: ${{ vars.AGENT_MODEL || 'gpt-5.6-luna' }}
|
|
25
|
+
agent-effort: ${{ vars.AGENT_EFFORT }}
|
|
26
|
+
agent-command: ${{ vars.AGENT_COMMAND }}
|
|
27
|
+
findings-provider: ${{ vars.FINDINGS_PROVIDER }}
|
|
28
|
+
findings-model-provider: ${{ vars.FINDINGS_MODEL_PROVIDER }}
|
|
29
|
+
findings-model: ${{ vars.FINDINGS_MODEL }}
|
|
30
|
+
findings-effort: ${{ vars.FINDINGS_EFFORT }}
|
|
31
|
+
findings-command: ${{ vars.FINDINGS_COMMAND }}
|
|
32
|
+
fixer-provider: ${{ vars.FIXER_PROVIDER }}
|
|
33
|
+
fixer-model-provider: ${{ vars.FIXER_MODEL_PROVIDER }}
|
|
34
|
+
fixer-model: ${{ vars.FIXER_MODEL }}
|
|
35
|
+
fixer-effort: ${{ vars.FIXER_EFFORT }}
|
|
36
|
+
fixer-command: ${{ vars.FIXER_COMMAND }}
|
|
37
|
+
planner-provider: ${{ vars.PLANNER_PROVIDER }}
|
|
38
|
+
planner-model-provider: ${{ vars.PLANNER_MODEL_PROVIDER }}
|
|
39
|
+
planner-model: ${{ vars.PLANNER_MODEL }}
|
|
40
|
+
planner-effort: ${{ vars.PLANNER_EFFORT }}
|
|
41
|
+
planner-command: ${{ vars.PLANNER_COMMAND }}
|
|
42
|
+
project-ids: ${{ vars.PROJECT_IDS }}
|
|
43
|
+
bugbot-fix-verify-commands: ${{ vars.BUGBOT_AUTOFIX_VERIFY_COMMANDS }}
|
|
44
|
+
token: ${{ secrets.PAT }}
|
|
45
|
+
env:
|
|
46
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
47
|
+
AGENT_MODEL_PROVIDER: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
48
|
+
AGENT_MODEL: ${{ vars.AGENT_MODEL }}
|
|
49
|
+
AGENT_EFFORT: ${{ vars.AGENT_EFFORT }}
|
|
50
|
+
AGENT_PROVISIONING: ${{ vars.AGENT_PROVISIONING || 'auto' }}
|
|
51
|
+
AGENT_ALLOWED_MODEL_PROVIDERS: ${{ vars.AGENT_ALLOWED_MODEL_PROVIDERS || 'openai' }}
|
|
52
|
+
AGENT_ALLOWED_MODELS: ${{ vars.AGENT_ALLOWED_MODELS || 'openai/gpt-5.6-luna' }}
|
|
53
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
54
|
+
CODEX_VERSION: ${{ vars.CODEX_VERSION }}
|
|
55
|
+
OPENCODE_VERSION: ${{ vars.OPENCODE_VERSION }}
|
|
56
|
+
CURSOR_INSTALLER_SHA256: ${{ vars.CURSOR_INSTALLER_SHA256 }}
|
|
57
|
+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
58
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
59
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
60
|
+
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
61
|
+
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
62
|
+
CURSOR_API_KEY: ${{ (vars.AGENT_PROVIDER == 'cursor' || vars.FINDINGS_PROVIDER == 'cursor' || vars.FIXER_PROVIDER == 'cursor' || vars.PLANNER_PROVIDER == 'cursor' || vars.REVIEWER_PROVIDER == 'cursor' || vars.TESTER_PROVIDER == 'cursor' || vars.RELEASE_PROVIDER == 'cursor') && secrets.CURSOR_API_KEY || '' }}
|
|
63
|
+
CODEX_ACCESS_TOKEN: ${{ secrets.CODEX_ACCESS_TOKEN }}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: Copilot - Pull Request
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, reopened, edited, labeled, unlabeled, closed, assigned, unassigned, synchronize]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
copilot-pull-requests:
|
|
9
|
+
name: Copilot - Pull Request
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 120
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout Repository
|
|
14
|
+
uses: actions/checkout@v5
|
|
15
|
+
|
|
16
|
+
- uses: vypdev/copilot@v3
|
|
17
|
+
with:
|
|
18
|
+
ai-ignore-files: build/*
|
|
19
|
+
debug: ${{ vars.DEBUG }}
|
|
20
|
+
agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
21
|
+
agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
22
|
+
agent-model: ${{ vars.AGENT_MODEL || 'gpt-5.6-luna' }}
|
|
23
|
+
agent-effort: ${{ vars.AGENT_EFFORT }}
|
|
24
|
+
agent-command: ${{ vars.AGENT_COMMAND }}
|
|
25
|
+
findings-provider: ${{ vars.FINDINGS_PROVIDER }}
|
|
26
|
+
findings-model-provider: ${{ vars.FINDINGS_MODEL_PROVIDER }}
|
|
27
|
+
findings-model: ${{ vars.FINDINGS_MODEL }}
|
|
28
|
+
findings-effort: ${{ vars.FINDINGS_EFFORT }}
|
|
29
|
+
findings-command: ${{ vars.FINDINGS_COMMAND }}
|
|
30
|
+
fixer-provider: ${{ vars.FIXER_PROVIDER }}
|
|
31
|
+
fixer-model-provider: ${{ vars.FIXER_MODEL_PROVIDER }}
|
|
32
|
+
fixer-model: ${{ vars.FIXER_MODEL }}
|
|
33
|
+
fixer-effort: ${{ vars.FIXER_EFFORT }}
|
|
34
|
+
fixer-command: ${{ vars.FIXER_COMMAND }}
|
|
35
|
+
reviewer-provider: ${{ vars.REVIEWER_PROVIDER }}
|
|
36
|
+
reviewer-model-provider: ${{ vars.REVIEWER_MODEL_PROVIDER }}
|
|
37
|
+
reviewer-model: ${{ vars.REVIEWER_MODEL }}
|
|
38
|
+
reviewer-effort: ${{ vars.REVIEWER_EFFORT }}
|
|
39
|
+
reviewer-command: ${{ vars.REVIEWER_COMMAND }}
|
|
40
|
+
project-ids: ${{ vars.PROJECT_IDS }}
|
|
41
|
+
token: ${{ secrets.PAT }}
|
|
42
|
+
env:
|
|
43
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
44
|
+
AGENT_MODEL_PROVIDER: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
45
|
+
AGENT_MODEL: ${{ vars.AGENT_MODEL }}
|
|
46
|
+
AGENT_EFFORT: ${{ vars.AGENT_EFFORT }}
|
|
47
|
+
AGENT_PROVISIONING: ${{ vars.AGENT_PROVISIONING || 'auto' }}
|
|
48
|
+
AGENT_ALLOWED_MODEL_PROVIDERS: ${{ vars.AGENT_ALLOWED_MODEL_PROVIDERS || 'openai' }}
|
|
49
|
+
AGENT_ALLOWED_MODELS: ${{ vars.AGENT_ALLOWED_MODELS || 'openai/gpt-5.6-luna' }}
|
|
50
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
51
|
+
CODEX_VERSION: ${{ vars.CODEX_VERSION }}
|
|
52
|
+
OPENCODE_VERSION: ${{ vars.OPENCODE_VERSION }}
|
|
53
|
+
CURSOR_INSTALLER_SHA256: ${{ vars.CURSOR_INSTALLER_SHA256 }}
|
|
54
|
+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
55
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
56
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
57
|
+
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
58
|
+
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
59
|
+
CURSOR_API_KEY: ${{ (vars.AGENT_PROVIDER == 'cursor' || vars.FINDINGS_PROVIDER == 'cursor' || vars.FIXER_PROVIDER == 'cursor' || vars.PLANNER_PROVIDER == 'cursor' || vars.REVIEWER_PROVIDER == 'cursor' || vars.TESTER_PROVIDER == 'cursor' || vars.RELEASE_PROVIDER == 'cursor') && secrets.CURSOR_API_KEY || '' }}
|
|
60
|
+
CODEX_ACCESS_TOKEN: ${{ secrets.CODEX_ACCESS_TOKEN }}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Copilot - Pull Request Comment
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_review_comment:
|
|
5
|
+
types: [created, edited]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
copilot-pull-requests:
|
|
9
|
+
name: Copilot - Pull Request Comment
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
timeout-minutes: 120
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout Repository
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
|
+
|
|
18
|
+
- uses: vypdev/copilot@v3
|
|
19
|
+
with:
|
|
20
|
+
ai-ignore-files: build/*
|
|
21
|
+
debug: ${{ vars.DEBUG }}
|
|
22
|
+
agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
23
|
+
agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
24
|
+
agent-model: ${{ vars.AGENT_MODEL || 'gpt-5.6-luna' }}
|
|
25
|
+
agent-effort: ${{ vars.AGENT_EFFORT }}
|
|
26
|
+
agent-command: ${{ vars.AGENT_COMMAND }}
|
|
27
|
+
findings-provider: ${{ vars.FINDINGS_PROVIDER }}
|
|
28
|
+
findings-model-provider: ${{ vars.FINDINGS_MODEL_PROVIDER }}
|
|
29
|
+
findings-model: ${{ vars.FINDINGS_MODEL }}
|
|
30
|
+
findings-effort: ${{ vars.FINDINGS_EFFORT }}
|
|
31
|
+
findings-command: ${{ vars.FINDINGS_COMMAND }}
|
|
32
|
+
fixer-provider: ${{ vars.FIXER_PROVIDER }}
|
|
33
|
+
fixer-model-provider: ${{ vars.FIXER_MODEL_PROVIDER }}
|
|
34
|
+
fixer-model: ${{ vars.FIXER_MODEL }}
|
|
35
|
+
fixer-effort: ${{ vars.FIXER_EFFORT }}
|
|
36
|
+
fixer-command: ${{ vars.FIXER_COMMAND }}
|
|
37
|
+
reviewer-provider: ${{ vars.REVIEWER_PROVIDER }}
|
|
38
|
+
reviewer-model-provider: ${{ vars.REVIEWER_MODEL_PROVIDER }}
|
|
39
|
+
reviewer-model: ${{ vars.REVIEWER_MODEL }}
|
|
40
|
+
reviewer-effort: ${{ vars.REVIEWER_EFFORT }}
|
|
41
|
+
reviewer-command: ${{ vars.REVIEWER_COMMAND }}
|
|
42
|
+
project-ids: ${{ vars.PROJECT_IDS }}
|
|
43
|
+
bugbot-fix-verify-commands: ${{ vars.BUGBOT_AUTOFIX_VERIFY_COMMANDS }}
|
|
44
|
+
token: ${{ secrets.PAT }}
|
|
45
|
+
env:
|
|
46
|
+
AGENT_PROVIDER: ${{ vars.AGENT_PROVIDER || 'codex' }}
|
|
47
|
+
AGENT_MODEL_PROVIDER: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
|
|
48
|
+
AGENT_MODEL: ${{ vars.AGENT_MODEL }}
|
|
49
|
+
AGENT_EFFORT: ${{ vars.AGENT_EFFORT }}
|
|
50
|
+
AGENT_PROVISIONING: ${{ vars.AGENT_PROVISIONING || 'auto' }}
|
|
51
|
+
AGENT_ALLOWED_MODEL_PROVIDERS: ${{ vars.AGENT_ALLOWED_MODEL_PROVIDERS || 'openai' }}
|
|
52
|
+
AGENT_ALLOWED_MODELS: ${{ vars.AGENT_ALLOWED_MODELS || 'openai/gpt-5.6-luna' }}
|
|
53
|
+
AGENT_COMMAND: ${{ vars.AGENT_COMMAND }}
|
|
54
|
+
CODEX_VERSION: ${{ vars.CODEX_VERSION }}
|
|
55
|
+
OPENCODE_VERSION: ${{ vars.OPENCODE_VERSION }}
|
|
56
|
+
CURSOR_INSTALLER_SHA256: ${{ vars.CURSOR_INSTALLER_SHA256 }}
|
|
57
|
+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
|
58
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
59
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
60
|
+
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
|
|
61
|
+
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
62
|
+
CURSOR_API_KEY: ${{ (vars.AGENT_PROVIDER == 'cursor' || vars.FINDINGS_PROVIDER == 'cursor' || vars.FIXER_PROVIDER == 'cursor' || vars.PLANNER_PROVIDER == 'cursor' || vars.REVIEWER_PROVIDER == 'cursor' || vars.TESTER_PROVIDER == 'cursor' || vars.RELEASE_PROVIDER == 'cursor') && secrets.CURSOR_API_KEY || '' }}
|
|
63
|
+
CODEX_ACCESS_TOKEN: ${{ secrets.CODEX_ACCESS_TOKEN }}
|