GitHub Toolkit
This repository contains a comprehensive toolkit for GitHub Actions automation, featuring a sophisticated FCM (Formal Conceptual Model) bridge system that generates actions from conceptual definitions. The toolkit implements the Loosely Coupled Modular Composition Pattern (LCMCP) and provides standardized approaches for git operations, version management, and release automation.
Getting Started
For a comprehensive understanding of the toolkit architecture and components:
- Understanding Actions - Learn about Core and Composite Actions
- Understanding Workflows - How workflows orchestrate actions
- Understanding FCM Bridge - The generation system behind actions
- Testing Framework - Comprehensive testing patterns and requirements
Available Workflows
MkDocs GitHub Pages Workflow
Automates the deployment of MkDocs documentation to GitHub Pages. This workflow:
- Copies repository files (README, CHANGELOG, LICENSE) to documentation
- Updates MkDocs navigation configuration
- Deploys to GitHub Pages
- Supports custom Python versions and file locations
Create GitHub Release
Automates the creation of GitHub releases. This workflow:
- Creates releases from version tags
- Supports prereleases and draft releases
- Allows custom release titles
- Can be triggered manually or by tags
Update Changelog
Automatically updates CHANGELOG.md when pull requests are merged. This workflow:
- Adds PR information to changelog
- Manages unreleased section
- Maintains consistent changelog format
- Runs on PR merge to develop branch
Using These Workflows
To use these workflows in your repository:
-
Reference them in your workflow files:
jobs: docs: uses: deepworks-net/github.actions/.github/workflows/mkdocs-gh-pages.yml@main
-
Configure with input parameters:
with: parameter: value
-
Provide any required secrets:
secrets: token: ${{ secrets.GITHUB_TOKEN }}
Best Practices
When using these workflows:
- Always reference a specific tag/SHA instead of
main
for production use - Test workflow changes in a feature branch first
- Monitor workflow runs for any issues
- Keep repository settings up to date with required permissions
Need Help?
- Check individual workflow documentation for detailed configuration options
- Review workflow run logs for troubleshooting
- Open an issue if you encounter any problems
- Submit pull requests for improvements
Contributing
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
See our Contributing Guidelines for more information.