[codex] Implement comprehensive tests #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Source: https://gist.github.com/sgoedecke/2b4e8d5e6b21f536ea399f1728916ad5 | |
| name: Codex on GitHub Models | |
| on: | |
| issues: | |
| types: [opened] | |
| jobs: | |
| process-issue: | |
| if: contains(github.event.issue.title, '[codex]') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| issues: write | |
| pull-requests: write | |
| models: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: '22' | |
| - name: Install Codex CLI | |
| run: npm install -g @openai/codex | |
| - name: Process issue with Codex | |
| env: | |
| OPENAI_API_KEY: ${{ secrets.GITHUB_TOKEN }} | |
| ISSUE_BODY: ${{ github.event.issue.body }} | |
| ISSUE_NUMBER: ${{ github.event.issue.number }} | |
| ISSUE_TITLE: ${{ github.event.issue.title }} | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| INSTRUCTION="$ISSUE_TITLE --- $ISSUE_BODY" | |
| BRANCH_NAME="codex/issue-$ISSUE_NUMBER" | |
| git checkout -b $BRANCH_NAME | |
| export OPENAI_BASE_URL=https://models.github.ai/inference | |
| # any provider string would work here, it's just so codex knows it's using a custom model | |
| codex --provider github --model openai/gpt-4.1 --full-auto "$INSTRUCTION" | |
| if [[ -n $(git status --porcelain) ]]; then | |
| git config user.name "GitHub Models Codex Bot" | |
| git config user.email "github-models-codex-bot@noreply.github.com" | |
| git add . | |
| git commit -m "Codex changes for issue #$ISSUE_NUMBER" | |
| git push origin $BRANCH_NAME | |
| # Create PR and comment on issue using the same token | |
| gh pr create --title "Codex: ${{ github.event.issue.title }}" \ | |
| --body "Auto-generated by Codex for issue #$ISSUE_NUMBER" \ | |
| --base ${{ github.event.repository.default_branch }} \ | |
| --head $BRANCH_NAME | |
| gh issue comment $ISSUE_NUMBER --body "Codex created a PR for this issue" | |
| else | |
| gh issue comment $ISSUE_NUMBER --body "Codex processed this issue but made no changes" | |
| fi |