Skip to content

feat(steps): Implement semantic steps framework #107

Description

@dangazineu

Create the semantic steps framework and implement core built-in steps for workflow automation.

Description

This issue establishes the semantic steps framework and implements the core built-in steps that provide common workflow functionality.

Built-in Steps to Implement

  • tako/checkout@v1 - Repository checkout operations
  • tako/update-dependency@v1 - Cross-ecosystem dependency updates
  • tako/create-pull-request@v1 - Automated pull request creation
  • tako/poll@v1 - Long-running step monitoring

Framework Features

  • Step versioning with semantic version support (@v1, @v2)
  • Parameter validation and documentation
  • Integration with template engine and security model
  • Extensible registration system for future steps

Example Usage

steps:
  - uses: tako/checkout@v1
    with:
      ref: main
  - uses: tako/update-dependency@v1
    with:
      name: go-lib
      version: \"1.2.3\"
      ecosystem: go
  - uses: tako/create-pull-request@v1
    with:
      title: \"Update dependency to {{ .inputs.version }}\"
      body: \"Automated dependency update\"

Implementation Details

  • Create internal/steps/ package with registration framework
  • Implement each built-in step with comprehensive parameter validation
  • Add tako steps list command for step discovery
  • Integrate steps with execution engine and container runtime
  • Create testing framework for built-in steps

Acceptance Criteria

  • All built-in steps work correctly with parameter validation
  • Step versioning supports semantic version syntax
  • tako steps list shows available steps and parameters
  • Integration tests validate step functionality
  • Framework supports easy addition of new steps

Files to Modify

  • internal/steps/registry.go (new)
  • internal/steps/checkout.go (new)
  • internal/steps/update_dependency.go (new)
  • internal/steps/create_pr.go (new)
  • internal/steps/poll.go (new)
  • cmd/tako/internal/steps.go (new)

Related Issues

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions