-
Notifications
You must be signed in to change notification settings - Fork 2
Adds Codex Playground feature #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Implements a "Codex Playground" feature that allows users to run natural language coding tasks in a sandboxed GitHub Actions environment. This involves: - Creating a new GitHub Actions workflow (`codex-playground.yml`) that executes the specified task. - Adding API endpoints to start tasks, check task status, and retrieve logs. - Implementing a new UI component (PlaygroundModal) to interact with the new endpoints. - Adds copilot setup steps to ease the integration with Copilot. - Adds general guidelines for Copilot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a Codex Playground feature to allow users to run natural language coding tasks via GitHub Actions. Key changes include:
- A new GitHub Actions workflow (codex-playground.yml) that dispatches tasks.
- New API endpoints and schemas in the backend for starting tasks and retrieving their statuses/logs.
- A new UI component (PlaygroundModal) in the frontend with integrated task polling and example prompts.
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
frontend/tsconfig.tsbuildinfo | Updated build info with a new entry for MultiDevinModal. |
frontend/src/components/ui/PlaygroundModal.tsx | New modal component to collect and submit Codex tasks and display task status updates. |
frontend/src/components/HomePage.tsx | Default agent category updated to 'all'. |
frontend/src/components/AgentCard.tsx | Added a Playground button and integrated the PlaygroundModal component for the codex-cli agent. |
frontend/src/App.css | Added styling for the PlaygroundModal and its associated elements. |
backend/app/services/github.py | Added functions for creating runner tokens, dispatching workflows, and retrieving logs/runs. |
backend/app/models/schemas.py | New schemas added to support Codex Playground requests and responses. |
backend/app/main.py | New endpoints to start a playground task, check task status, and download logs. |
.github/workflows/copilot-setup-steps.yml | Workflow for validating Copilot setup changes. |
.github/workflows/codex-playground.yml | Workflow definition for Codex Playground tasks with a disabled job. |
.github/copilot-instructions.md | Updated integration instructions for GitHub Actions and general coding guidelines. |
Comments suppressed due to low confidence (3)
frontend/src/components/AgentCard.tsx:237
- The code splits the 'repoName' prop to derive the owner and repository values. Ensure that 'repoName' is always in the format 'owner/repo' or consider passing these values explicitly to avoid potential mismatches.
repoOwner={repoName?.split('/')[0] || ''}
.github/workflows/codex-playground.yml:20
- The default value for 'azure_openai_deployment' in the workflow ('o4-mini') is inconsistent with the defaults used in the frontend and backend ('gpt-4o'). Consider unifying these defaults.
default: "o4-mini"
backend/app/main.py:393
- Relying on substring matching of 'task_id' in the html_url to identify workflow runs may be unreliable; consider including the task_id explicitly in the workflow inputs or another stable identifier for mapping.
if task_id in str(run.get("html_url", "")):
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Adds the ability to manually input tasks, as an alternative to auto-generating them. This feature provides flexibility to specify exact work for the agent to perform. It also includes basic styling for the manual tasks list, headers, and navigation tab. Removes frontend pnpm lock file and tsbuildinfo from the repository and adds it to git ignore.
This pull request introduces a "Codex Playground" feature, allowing users to execute natural language coding tasks within a specified repository using GitHub Actions.
Key changes include:
codex-playground.yml
) to execute Codex tasks via GitHub Actions.PlaygroundModal
) to provide a user interface for specifying tasks and monitoring their execution..github/copilot-instructions.md
to guide agent integration with GitHub actions.