feat(web+server): allow to dispatch GitHub Actions workflow from Actions menu - #6288
feat(web+server): allow to dispatch GitHub Actions workflow from Actions menu#6288fcannizzaro wants to merge 4 commits into
Conversation
- Discover and run manual workflows from the chat header - Support workflow inputs and link to the created run
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Effect service conventions review of the new GitHubWorkflowService. Four findings, all in error modeling and dependency acquisition for the new service; the module layout (Context.Service tag with inline interface, make, layer, namespace imports, yield* GitHubCli.GitHubCli) follows the conventions.
Posted via Macroscope — Effect Service Conventions
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit dbee9c2. Configure here.
ApprovabilityVerdict: Needs human review This PR introduces a new feature enabling users to dispatch GitHub Actions workflows from the UI, adding new backend services, RPC endpoints with authorization, UI components, and external GitHub CLI integration. New user-facing capabilities require human review. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
One minor finding on error-attribute handling in the new Effect service; the rest of the service definition (namespace imports, Context.Service + inline interface, make, layer, environment-acquired FileSystem/Path/GitHubCli dependencies) follows the conventions.
Posted via Macroscope — Effect Service Conventions
There was a problem hiding this comment.
One finding: the new server-side workflow behavior (dispatch detection/parsing, run-URL extraction, gh argument construction) ships without focused server tests. Error modeling and dependency acquisition flagged in earlier runs now match the sibling sourceControl services and look correct.
Posted via Macroscope — Effect Service Conventions
| }); | ||
| const decodeWorkflowDocument = Schema.decodeUnknownOption(WorkflowDocument); | ||
|
|
||
| export function parseDispatchWorkflow(contents: string, filename: string): GitHubWorkflow | null { |
There was a problem hiding this comment.
This adds new backend behavior with no focused server tests. parseDispatchWorkflow has several non-trivial branches (on: workflow_dispatch scalar vs. array vs. struct, workflow_dispatch: null, non-dispatch workflows rejected, blank input names skipped, scalar default/options coerced to strings, malformed YAML), and GitHubWorkflowService.ts exports extractRunUrl and workflowRunArguments as pure seams that nothing exercises.
Consider adding a focused test file next to these (e.g. githubWorkflowYaml.test.ts, plus a GitHubWorkflowService test using a test GitHubCli layer to cover the run-URL fallback and the SourceControlProviderError mapping), in line with the sibling sourceControl services that are covered by tests.
Posted via Macroscope — Effect Service Conventions

What Changed
workflow_dispatchtriggers.Why
GitHub Actions workflows currently require leaving T3 Code and manually dispatching runs. This adds a focused workflow dispatch flow within the actions menu while validating workflow definitions and inputs on the server before invoking the authenticated GitHub CLI.
UI Changes
Kapture.2026-08-12.at.10.39.59.webm
Checklist
Note
Medium Risk
Adds an operate-scoped RPC that can trigger remote CI/CD via the authenticated GitHub CLI. Scoped to authenticated GitHub projects and existing orchestration auth, but still a meaningful side-effecting mutation.
Overview
Lets users start GitHub Actions
workflow_dispatchworkflows from the chat header Actions menu on the current thread branch.Adds server support to scan
.github/workflows, parse dispatchable YAML (including inputs/defaults/choices), and run workflows via the authenticated GitHub CLI, exposed asgithubWorkflows.list/githubWorkflows.run.The Actions menu lists available workflows when GitHub is ready. Workflows with inputs open a form dialog; successful runs show a toast with an optional View run link.
Reviewed by Cursor Bugbot for commit 26563a0. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add GitHub Actions workflow dispatch to the chat header Actions menu
githubWorkflows.listandgithubWorkflows.runWebSocket RPC methods, backed by a newGitHubWorkflowServicethat reads.github/workflows/*.ymlfiles and runs workflows via the GitHub CLI.workflow_dispatchtriggers from workflow YAML files to extract inputs (type, description, required, default, options) usinggithubWorkflowYaml.ts.ProjectScriptsControlunder a GitHub Actions group; when no project scripts exist, the button label changes from 'Add action' to 'Actions'.GitHubWorkflowDialogfor workflows with inputs; dispatches immediately for workflows without inputs.gh) and only works for repos with a.github/workflowsdirectory.Macroscope summarized 26563a0.