Skip to content

Commit 4e3a887

Browse files
chore: Restore resolver workflow file
1 parent 5599fa0 commit 4e3a887

File tree

1 file changed

+42
-11
lines changed

1 file changed

+42
-11
lines changed

.github/workflows/openhands-resolver.yml

Lines changed: 42 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ on:
3939
required: false
4040
LLM_API_KEY:
4141
required: true
42+
APP_ID:
43+
required: false
44+
APP_PRIVATE_KEY:
45+
required: false
4246
LLM_BASE_URL:
4347
required: false
4448
PAT_TOKEN:
@@ -89,6 +93,28 @@ jobs:
8993
with:
9094
python-version: "3.12"
9195

96+
- name: Generate GitHub App Token
97+
id: generate-token
98+
# Only run if App ID and Key are provided via secrets
99+
if: secrets.APP_ID && secrets.APP_PRIVATE_KEY
100+
uses: actions/create-github-app-token@v1
101+
with:
102+
app-id: ${{ secrets.APP_ID }}
103+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
104+
105+
- name: Determine Auth Token
106+
id: determine-auth-token
107+
run: |
108+
if [ -n "${{ steps.generate-token.outputs.token }}" ]; then
109+
echo "Using GitHub App Token"
110+
echo "AUTH_TOKEN=${{ steps.generate-token.outputs.token }}" >> $GITHUB_ENV
111+
elif [ -n "${{ secrets.PAT_TOKEN }}" ]; then
112+
echo "Using PAT Token"
113+
echo "AUTH_TOKEN=${{ secrets.PAT_TOKEN }}" >> $GITHUB_ENV
114+
else
115+
echo "Using default GITHUB_TOKEN"
116+
echo "AUTH_TOKEN=${{ github.token }}" >> $GITHUB_ENV
117+
fi
92118
- name: Get latest versions and create requirements.txt
93119
run: |
94120
python -m pip index versions openhands-ai > openhands_versions.txt
@@ -126,7 +152,7 @@ jobs:
126152
LLM_API_VERSION: ${{ inputs.LLM_API_VERSION }}
127153
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
128154
PAT_USERNAME: ${{ secrets.PAT_USERNAME }}
129-
GITHUB_TOKEN: ${{ github.token }}
155+
APP_TOKEN_GENERATED: ${{ steps.generate-token.outputs.token && 'true' || 'false' }}
130156
run: |
131157
required_vars=("LLM_API_KEY")
132158
for var in "${required_vars[@]}"; do
@@ -141,8 +167,13 @@ jobs:
141167
echo "Warning: LLM_BASE_URL is not set, will use default API endpoint"
142168
fi
143169
144-
if [ -z "$PAT_TOKEN" ]; then
145-
echo "Warning: PAT_TOKEN is not set, falling back to GITHUB_TOKEN"
170+
# Check auth token source
171+
if [ "$APP_TOKEN_GENERATED" == "true" ]; then
172+
echo "Info: Using GitHub App Token for authentication."
173+
elif [ -n "$PAT_TOKEN" ]; then
174+
echo "Info: Using PAT_TOKEN for authentication."
175+
else
176+
echo "Warning: Neither App Token nor PAT_TOKEN is set, falling back to default GITHUB_TOKEN. This may have insufficient permissions."
146177
fi
147178
148179
if [ -z "$PAT_USERNAME" ]; then
@@ -178,16 +209,16 @@ jobs:
178209
fi
179210
180211
echo "MAX_ITERATIONS=${{ inputs.max_iterations || 50 }}" >> $GITHUB_ENV
181-
echo "SANDBOX_ENV_GITHUB_TOKEN=${{ secrets.PAT_TOKEN || github.token }}" >> $GITHUB_ENV
182-
echo "SANDBOX_BASE_CONTAINER_IMAGE=${{ inputs.base_container_image }}" >> $GITHUB_ENV
212+
echo "SANDBOX_ENV_GITHUB_TOKEN=${{ env.AUTH_TOKEN }}" >> $GITHUB_ENV
213+
echo "SANDBOX_ENV_BASE_CONTAINER_IMAGE=${{ inputs.base_container_image }}" >> $GITHUB_ENV
183214
184215
# Set branch variables
185216
echo "TARGET_BRANCH=${{ inputs.target_branch || 'main' }}" >> $GITHUB_ENV
186217
187218
- name: Comment on issue with start message
188219
uses: actions/github-script@v7
189220
with:
190-
github-token: ${{ secrets.PAT_TOKEN || github.token }}
221+
github-token: ${{ env.AUTH_TOKEN }}
191222
script: |
192223
const issueType = process.env.ISSUE_TYPE;
193224
github.rest.issues.createComment({
@@ -235,7 +266,7 @@ jobs:
235266
236267
- name: Attempt to resolve issue
237268
env:
238-
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN || github.token }}
269+
GITHUB_TOKEN: ${{ env.AUTH_TOKEN }}
239270
GITHUB_USERNAME: ${{ secrets.PAT_USERNAME || 'openhands-agent' }}
240271
GIT_USERNAME: ${{ secrets.PAT_USERNAME || 'openhands-agent' }}
241272
LLM_MODEL: ${{ secrets.LLM_MODEL || inputs.LLM_MODEL }}
@@ -272,7 +303,7 @@ jobs:
272303
- name: Create draft PR or push branch
273304
if: always() # Create PR or branch even if the previous steps fail
274305
env:
275-
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN || github.token }}
306+
GITHUB_TOKEN: ${{ env.AUTH_TOKEN }}
276307
GITHUB_USERNAME: ${{ secrets.PAT_USERNAME || 'openhands-agent' }}
277308
GIT_USERNAME: ${{ secrets.PAT_USERNAME || 'openhands-agent' }}
278309
LLM_MODEL: ${{ secrets.LLM_MODEL || inputs.LLM_MODEL }}
@@ -304,7 +335,7 @@ jobs:
304335
AGENT_RESPONDED: ${{ env.AGENT_RESPONDED || 'false' }}
305336
ISSUE_NUMBER: ${{ env.ISSUE_NUMBER }}
306337
with:
307-
github-token: ${{ secrets.PAT_TOKEN || github.token }}
338+
github-token: ${{ env.AUTH_TOKEN }}
308339
script: |
309340
const fs = require('fs');
310341
const issueNumber = process.env.ISSUE_NUMBER;
@@ -341,7 +372,7 @@ jobs:
341372
ISSUE_NUMBER: ${{ env.ISSUE_NUMBER }}
342373
RESOLUTION_SUCCESS: ${{ steps.check_result.outputs.RESOLUTION_SUCCESS }}
343374
with:
344-
github-token: ${{ secrets.PAT_TOKEN || github.token }}
375+
github-token: ${{ env.AUTH_TOKEN }}
345376
script: |
346377
const fs = require('fs');
347378
const path = require('path');
@@ -414,7 +445,7 @@ jobs:
414445
env:
415446
ISSUE_NUMBER: ${{ env.ISSUE_NUMBER }}
416447
with:
417-
github-token: ${{ secrets.PAT_TOKEN || github.token }}
448+
github-token: ${{ env.AUTH_TOKEN }}
418449
script: |
419450
const issueNumber = process.env.ISSUE_NUMBER;
420451

0 commit comments

Comments
 (0)