-
Notifications
You must be signed in to change notification settings - Fork 31
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: run block #827
feat: run block #827
Conversation
AI-Generated Summary: This pull request contains 4 patches that introduce the following changes:
Overall, these changes enable more complex and flexible workflow configurations in the engine. |
Reviewpad Report
|
AI-Generated Summary: This pull request includes 5 patches that implement and modify the run block feature in the language engine. The changes are as follows:
|
AI-Generated Summary: This pull request contains updates in 6 patches. Changes include:
These updates improve the functionality and flexibility of the existing code structure, allowing for more complex workflows with conditionally nested actions. |
AI-Generated Summary: This pull request contains the following 7 patches which add, modify and test the run block feature in the engine:
The changes include support for single actions, lists of actions, and nested if-then-else logic in the run block. |
AI-Generated Summary: This pull request introduces various updates in the engine, specifically related to the PadWorkflow and the handling of run blocks. The following are the main changes included:
By including these changes, the engine now supports more complex run block structures, allowing users to create workflows with more advanced logic and conditions. |
AI-Generated Summary: This pull request introduces support for flexible run blocks in code review workflows. The changes include new test cases and modifications to the following files:
Overall, these changes allow users to better customize their workflows in code review processes. |
AI-Generated Summary: This pull request introduces changes that enhance Reviewpad's configuration handling by supporting different structures for the |
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.
Overall, this is great. I have some mix feelings about the way engine/inline_rules_normalizer.go
is being organized. It's becoming big and hard to maintain. I'll iterate on this and get back to you with more feedback.
engine/testdata/exec/reviewpad_with_single_conditional_run_else.yml
Outdated
Show resolved
Hide resolved
AI-Generated Summary: This pull request introduces several changes to the engine to support different types of workflow execution. It adds the ability to have a list of actions or conditional blocks in the run section of a workflow. The code now supports single actions, lists of actions, single conditionals, single conditionals with else, and combinations of these elements in a single run block. The changes include modifications to the |
AI-Generated Summary: This pull request introduces several enhancements to the Reviewpad engine. Mainly, it adds support for the new run block structure in workflows, allowing for more complex conditional logic and nested conditions. The changes include:
This work adds richer control flow mechanisms to the code review automation platform and improves overall functionality. |
AI-Generated Summary: This pull request introduces support for run blocks in workflows, allowing more complex configurations and conditional execution of actions. It adds new test cases for different types of run blocks such as single-action, list of actions, single conditional, single conditional with else, and a combination of these. It also validates that a run block has a then block or actions, and it updates the workflow transformation and linting logic to accommodate the new run blocks. Additionally, several new test files with different run block configurations are added. |
馃搱 Pull Request Metrics馃捇 Coding Time: 18 hours |
Description
Introduces the
run
field in a workflow which introduces a new way to define actions on a workflow, it's now possible to have actions without rules, actions with arbitrarily nestedif
,then
,else
conditions or a combination of both.Related issue
Closes reviewpad/raas-common#102
Type of change
New feature (non-breaking change which adds functionality)
How was this tested?
Manual and unit tests(TBD)
Checklist
task check -f
and have no issuesCode review and merge strategy (ship/show/ask)
Ask: this pull request requires a code review before merge
HOW
馃 Generated by Copilot at d0baa28
PadWorkflow
type to include a field for the non-normalizedrun
value and a field for the normalizedruns
slice, which containsPadWorkflowRunBlock
structs (link)run
field of the workflow and convert it to a slice ofPadWorkflowRunBlock
and a slice ofPadRules
, handling different types of values and parsing them according to the run block syntax (engine/inline_rules_normalizer.go
, link)processWorkflow
function to also process therun
field and append the run rules to the compact rules (engine/inline_rules_normalizer.go
, link)engine/exec.go
, link)engine/exec.go
, link)runs
field to the transformed workflow struct (engine/loader.go
, link)engine/linter.go
, link)processCompactRules
function, to avoid panicking when the workflow does not have any rules (engine/inline_rules_normalizer.go
, link)