This directory contains GitHub Actions for the Hurd project to automate issue generation and roadmap creation.
File: .github/workflows/generate-open-issues.yml
This action parses the open issues documentation structure and generates GitHub issues for each item with actionable steps.
- Automatically creates issues for each documentation item
- Generates actionable steps based on item type and level
- Maintains hierarchical structure with parent-child relationships
- Adds appropriate labels and metadata
- Can be run manually or on a schedule
Manual Run:
- Go to the Actions tab in the GitHub repository
- Select "Generate Open Issues from Documentation"
- Click "Run workflow"
- Optionally enable "Dry run" to preview without creating issues
Scheduled Run:
- The action runs automatically every Monday at 9 AM UTC
- Issues are created with appropriate labels and actionable steps
The action uses the following environment variables:
GITHUB_TOKEN
: GitHub token for API access (automatically provided)GITHUB_REPOSITORY_OWNER
: Repository owner (defaults to 'gnu')GITHUB_REPOSITORY
: Repository name (defaults to 'gnu/hurd')
The action generates:
- GitHub issues for each documentation item
- A JSON file (
open_issues_structure.json
) with the parsed structure - Actionable steps for each issue based on its category and level
File: .github/scripts/create_roadmap.py
This script generates an advanced development roadmap with Mermaid and PlantUML diagrams.
- Comprehensive component status tracking
- Visual architecture diagrams
- Development timeline and phases
- Priority matrix and risk assessment
- Success metrics for each phase
-
Mermaid Diagrams:
- System architecture overview
- Development status pie chart
- Component dependencies
-
PlantUML Diagrams:
- Detailed system architecture
- Development roadmap timeline
-
Markdown Tables:
- Component status table
- Priority matrix
- Success criteria
The script generates DEVELOPMENT_ROADMAP.md
containing:
- Architecture overview with diagrams
- Development phases and timelines
- Component status and priorities
- Success metrics and risk assessment
- Contributing guidelines
Location: .github/scripts/generate_issues.py
Parses the open issues documentation structure and creates GitHub issues.
Key Functions:
parse_documentation_structure()
: Parses the nested documentation structuregenerate_actionable_steps()
: Creates actionable steps for each issuecreate_github_issue()
: Creates GitHub issues via APIrun()
: Main execution method
Usage:
python .github/scripts/generate_issues.py
Location: .github/scripts/create_roadmap.py
Generates comprehensive development roadmap with diagrams.
Key Functions:
generate_mermaid_architecture_diagram()
: Creates Mermaid architecture diagramgenerate_plantuml_architecture()
: Creates PlantUML architecture diagramgenerate_component_status_table()
: Creates status tablegenerate_roadmap_markdown()
: Generates complete roadmap document
Usage:
python .github/scripts/create_roadmap.py
The roadmap tracks components in the following categories:
- β Complete: Fully implemented and functional
- π In Progress: Currently being developed
- π Planned: Scheduled for development
- β Missing: Not yet implemented
- π΄ High: Critical for system functionality
- π‘ Medium: Important but not critical
- π’ Low: Nice to have features
- Microkernel: Core kernel components
- Servers: Hurd server implementations
- Translators: File system translators
- Libraries: Support libraries
- Utilities: System utilities
- Tools: Development tools
- Boot: Boot system components
Focus on completing core system components and improving stability.
Implement missing core system components like sound and graphics servers.
Add advanced system features and capabilities.
System polish, comprehensive testing, and documentation.
To contribute to the automation:
-
Modify Issue Generation:
- Edit
generate_issues.py
to change issue creation logic - Update the documentation structure in the script
- Modify actionable steps generation
- Edit
-
Update Roadmap:
- Edit
create_roadmap.py
to update component status - Modify diagrams and visualizations
- Update development phases and timelines
- Edit
-
Add New Actions:
- Create new workflow files in
.github/workflows/
- Add corresponding scripts in
.github/scripts/
- Update this README with documentation
- Create new workflow files in
The scripts require the following Python packages:
requests
: For GitHub API callspyyaml
: For YAML processingdataclasses
: For data structures (Python 3.7+)
-
GitHub API Rate Limits:
- The action respects GitHub's rate limits
- Issues are created with delays if needed
-
Permission Issues:
- Ensure the workflow has
issues: write
permission - Check that the GitHub token is valid
- Ensure the workflow has
-
Script Errors:
- Check Python version (requires 3.7+)
- Verify all dependencies are installed
- Review error logs in the Actions tab
-
Dry Run Mode:
- Use the "Dry run" option to preview without creating issues
- Check the generated JSON structure
-
Manual Testing:
- Run scripts locally to test functionality
- Use
python -m pytest
if tests are added
This automation is part of the Hurd project and follows the same licensing terms.
For issues with the automation:
- Check the Actions tab for error logs
- Review the generated files for correctness
- Open an issue in the repository with details
- Contact the Hurd development team
Last updated: Generated automatically by the GitHub Action