Actions Overview
Architecture
Our GitHub Actions toolkit follows a layered architecture that promotes reusability, maintainability, and clear separation of concerns. The architecture implements the Loosely Coupled Modular Composition Pattern (LCMCP).
📖 For comprehensive documentation: Understanding Actions Guide
Core Actions
- Atomic, self-contained operations
- Single responsibility principle
- Highly reusable
- Docker-based execution
- Generated from FCM definitions
- Learn more about Core Actions
Composite Actions
- Combine core actions
- Add workflow-specific logic
- Higher-level operations
- Business process orchestration
- Learn more about Composite Actions
Directory Structure
actions/
├── core/ # Atomic operations
│ ├── branch_operations/
│ ├── commit_operations/
│ ├── tag_operations/
│ ├── version_calculator/
│ └── version_updater/
├── composite/ # Combined operations
│ ├── release_operations/
│ └── update_changelog/
└── shared/ # Shared utilities
└── git_utils/ # Common Git functions
Usage Patterns
Using Core Actions
steps:
- name: Calculate Version
uses: deepworks-net/github.toolkit/actions/core/version_calculator@v1
with:
default_version: 'v0.1.0'
Using Composite Actions
steps:
- name: Update Changelog
uses: deepworks-net/github.toolkit/actions/composite/update_changelog@v1
with:
content: ${{ steps.notes.outputs.content }}
Standards
Docker Configuration
- Standard base image (python:3.9-slim)
- Consistent dependency management
- Clear entrypoint configuration
Core/Composite Pattern
- Atomic core actions with single responsibilities
- Shared utilities for common functions
- Composite actions that combine core actions
- Clear separation of concerns
Testing
- Comprehensive test workflows
- Standard test structure
- Clear naming conventions
- Unit tests for atomic functions
- Integration tests for real-world scenarios
Documentation
- Complete API documentation
- Usage examples
- Error handling guidance
- Migration guides for new patterns
Available Actions
Core
Composite
Shared Utilities
- Git Utilities - Common git operation utilities
FCM Bridge System
Many Core Actions are automatically generated from Formal Conceptual Models (FCMs) using the bridge system:
- FCM Definitions: Located in
axioms/
directory - Generated Actions: Automatically created in
actions/core/
- Bridge System: Maintains synchronization between FCMs and actions
📖 Learn more: Understanding FCM Bridge Guide