Skip to content

Conversation

@thegovind
Copy link
Collaborator

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:

  • Creation of a new workflow (codex-playground.yml) to execute Codex tasks via GitHub Actions.
  • Addition of API endpoints to trigger tasks and fetch their statuses/logs.
  • A new frontend component (PlaygroundModal) to provide a user interface for specifying tasks and monitoring their execution.
  • Instructions in .github/copilot-instructions.md to guide agent integration with GitHub actions.

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.
@thegovind thegovind requested a review from Copilot June 18, 2025 00:00
Copy link
Contributor

Copilot AI left a 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", "")):

thegovind and others added 4 commits June 17, 2025 17:01
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.
@thegovind thegovind merged commit b5919a1 into main Jun 25, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants