Skip to content
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

(In progress) Refactor Codebase to Support Modular Composite Actions #584

Closed
wants to merge 3 commits into from

Conversation

ethanchewy
Copy link
Contributor

@ethanchewy ethanchewy commented Jul 10, 2020

In this PR, we plan to support recognizing any type of steps in a composite action.

We are going to accomplish this by doing:

  • Refactoring StepsRunner to ensure that it's only used for Job Level Steps

  • Create a separate StepsRunner for only Composite Actions

  • Modify existing code to parse through every type of step

    • Modify LoadCompositeSteps in PipelineTemplate Evaluator to support any step
    • Change for loop in composite actions handler to handle every type of step and create the "correct" child node with the right context attributes to trigger the correct handler!
  • Refactor Execution Context

    • Global Execution Context
    • Job Steps Execution Context
    • Composite Execution Context
      ** Let's first start with seperating the composite stuff from the execution context and packaging that into the composite execution context.

Additional changes that we might do in this PR or another PR depending on complexity:

  1. Refactor ExecutionContext => Global => Job, Action => Composite Action

High level view: https://docs.google.com/document/d/1euUp55hp0CcAuaoATDieVvJMUTFbHc6zveNaTEKIY8A/edit#

@ethanchewy ethanchewy marked this pull request as draft July 10, 2020 18:03
@ethanchewy ethanchewy changed the title Create New StepsRunner + Refactor Codebase to Support Composite Actions (In progress) Create New StepsRunner + Refactor Codebase to Support Composite Actions Jul 10, 2020
@ethanchewy
Copy link
Contributor Author

Actually, we would need to make another ExecutionContext for our Composite Actions StepsRunner to make sense as well. Hmmmmm... I'll try to do both refactorings at the same time and see how it goes.

If it becomes to large, I'll try to seperate the logic.

@ethanchewy ethanchewy changed the title (In progress) Create New StepsRunner + Refactor Codebase to Support Composite Actions (In progress) Refactor Codebase to Support Modular Composite Actions Jul 13, 2020
@ethanchewy
Copy link
Contributor Author

Yup, gonna create another PR based on the master branch for the Global Execution Context refactoring. That makes the most sense.

@ethanchewy
Copy link
Contributor Author

Closing. Will create another branch since we elected to choose a different route for refactoring.

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.

1 participant