Skip to main content

github-workflow-automation

Automate Git commits, pull requests, releases, and CI/CD workflows

Aller à l'installation

Informations de source

Dépôt
abcnuts/manus-skills
Dernière activité de la source
12 février 2026 à 04:11
Langue détectée de SKILL.md
anglais
Étoiles
69
Forks
46

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
5 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
github-workflow-automation
description
Automate Git commits, pull requests, releases, and CI/CD workflows
# github-workflow-automation **Automate Git commits, pull requests, releases, and CI/CD workflows** --- ## Overview Automate GitHub workflows including intelligent auto-commits, CI/CD pipelines, automated releases, and pull request management. Saves time on repetitive Git operations and ensures consistent workflow practices. **Time Saved**: ~20 minutes per workflow setup **Complexity**: Medium **Prerequisites**: Git, GitHub CLI (gh), Node.js --- ## When to Use - Automating Git commits and pushes - Setting up CI/CD pipelines - Creating automated releases - Managing pull requests programmatically - Standardizing team workflows --- ## Features 1. **Auto-Commit** - Intelligent commit message generation and push 2. **CI/CD Templates** - Ready-to-use GitHub Actions workflows 3. **Release Automation** - Automated versioning and releases 4. **Workflow Patterns** - Best practices and common patterns --- ## Quick Start ### 1. Auto-Commit and Push ```bash python3 /home/ubuntu/skills/github-workflow-automation/scripts/auto_commit.py /path/to/repo ``` ### 2. Auto-Commit with Custom Message ```bash python3 /home/ubuntu/skills/github-workflow-automation/scripts/auto_commit.py /path/to/repo "Add new feature" ``` ### 3. Set Up CI/CD Workflow ```bash # Copy template to project cp /home/ubuntu/skills/github-workflow-automation/templates/ci-cd.yml /path/to/repo/.github/workflows/ci-cd.yml ``` --- ## How It Works ### Auto-Commit Script **Phase 1: Detection** - Checks for git repository - Detects changed files - Analyzes file types **Phase 2: Message Generation** - Generates intelligent commit message based on changes - Or uses custom message if provided **Phase 3: Commit and Push** - Stages all changes (`git add .`) - Commits with generated/custom message - Pushes to current branch --- ## Usage Examples ### Example 1: Auto-Commit After Making Changes ```bash # Made changes to multiple files python3 /home/ubuntu/skills/github-workflow-automation/scripts/auto_commit.py ~/my-project # Output: # 📁 Repository: /home/ubuntu/my-project # 📝 Changes detected: # M src/index.js # M src/styles.css # 💬 Commit message: Update JavaScript/TypeScript code # 📦 Staging changes... # 💾 Committing... # ✅ Committed successfully # 🌿 Current branch: main # 🚀 Pushing to origin/main... # ✅ Pushed successfully! # 🎉 All done! ``` ### Example 2: Custom Commit Message ```bash python3 /home/ubuntu/skills/github-workflow-automation/scripts/auto_commit.py ~/my-project "Fix critical bug in authentication" # Output: # 📁 Repository: /home/ubuntu/my-project # 📝 Changes detected: # M src/auth.js # 💬 Commit message: Fix critical bug in authentication # 📦 Staging changes... # 💾 Committing... # ✅ Committed successfully # 🌿 Current branch: main # 🚀 Pushing to origin/main... # ✅ Pushed successfully! # 🎉 All done! ``` ### Example 3: Set Up CI/CD Pipeline ```bash # Create workflows directory mkdir -p ~/my-project/.github/workflows # Copy CI/CD template cp /home/ubuntu/skills/github-workflow-automation/templates/ci-cd.yml ~/my-project/.github/workflows/ci-cd.yml # Commit and push python3 /home/ubuntu/skills/github-workflow-automation/scripts/auto_commit.py ~/my-project "Add CI/CD workflow" ``` --- ## Intelligent Commit Messages The auto-commit script generates context-aware commit messages: | File Types Changed | Generated Message | |--------------------|-------------------| | Only .md files | "Update documentation" | | .py files | "Update Python code" | | .js or .ts files | "Update JavaScript/TypeScript code" | | .json files | "Update configuration" | | .css or .scss files | "Update styles" | | Single file | "Update {filename}" | | Multiple files | "Update {count} files" | --- ## CI/CD Workflow Template ### Features - ✅ Runs on push to main/develop - ✅ Runs on pull requests - ✅ Linting - ✅ Testing - ✅ Building - ✅ Automatic deployment to production ### Customization Edit `.github/workflows/ci-cd.yml`: ```yaml # Change Node version - uses: actions/setup-node@v3 with: node-version: '20' # Change here # Add environment variables env: DATABASE_URL: ${{ secrets.DATABASE_URL }} API_KEY: ${{ secrets.API_KEY }} # Customize deployment - name: Deploy to production run: | npm run deploy # Your deploy command ``` --- ## Release Workflow Template ### Features - ✅ Triggers on version tags (v*) - ✅ Creates GitHub release - ✅ Builds artifacts - ✅ Uploads build to release ### Usage ```bash # Tag a release git tag v1.0.0 git push --tags # GitHub Actions will automatically: # 1. Build the project # 2. Create a release # 3. Upload artifacts ``` --- ## GitHub CLI Integration ### Create Pull Request ```bash gh pr create --title "Add new feature" --body "Description of changes" ``` ### Merge Pull Request ```bash gh pr merge <pr-number> --squash ``` ### Create Release ```bash gh release create v1.0.0 --title "Version 1.0.0" --notes "Release notes" ``` ### View Workflow Runs ```bash gh run list gh run view <run-id> ``` --- ## Best Practices ### 1. Commit Messages - Use present tense ("Add feature" not "Added feature") - Be descriptive but concise - Reference issues when applicable ### 2. Branch Strategy - `main` - Production-ready code - `develop` - Development branch - `feature/*` - Feature branches - `hotfix/*` - Urgent fixes ### 3. CI/CD - Run tests on every push - Deploy only from main branch - Use caching for dependencies - Set up notifications ### 4. Secrets Management - Store sensitive data in GitHub Secrets - Never commit secrets to repository - Use environment-specific secrets ### 5. Workflow Organization - One workflow per purpose - Use descriptive names - Document workflow purpose - Keep workflows DRY --- ## Troubleshooting ### Auto-Commit Fails **Problem**: "Not a git repository" ```bash # Solution: Initialize git cd /path/to/project git init git remote add origin <url> ``` **Problem**: "Failed to push" ```bash # Solution: Pull first git pull origin main --rebase # Then run auto-commit again ``` ### Workflow Not Running **Problem**: Workflow file not detected ```bash # Solution: Check file location # Must be in .github/workflows/ # File must have .yml or .yaml extension ``` **Problem**: Workflow syntax error ```bash # Solution: Validate YAML # Use GitHub Actions validator or yamllint ``` ### Permission Denied **Problem**: "Permission denied" when pushing ```bash # Solution: Check authentication gh auth status gh auth login ``` --- ## Advanced Usage ### Conditional Workflows ```yaml # Only run on specific paths on: push: paths: - 'src/**' - '!**/*.md' ``` ### Matrix Testing ```yaml strategy: matrix: node-version: [16, 18, 20] os: [ubuntu-latest, windows-latest] ``` ### Reusable Workflows ```yaml # .github/workflows/reusable.yml on: workflow_call: inputs: environment: required: true type: string ``` --- ## Files ### Scripts - `scripts/auto_commit.py` - Intelligent auto-commit and push ### Templates - `templates/ci-cd.yml` - Complete CI/CD pipeline - `templates/release.yml` - Automated release workflow ### References - `references/workflow_patterns.md` - Patterns and best practices --- ## Related Skills - **deployment-automation** - Deploy after CI/CD passes - **error-monitoring-setup** - Monitor deployed applications - **testing-framework** - Generate tests for CI/CD --- ## Workflow ``` 1. User makes changes to code 2. User runs auto_commit.py 3. Script detects changes and generates message 4. Script commits and pushes 5. GitHub Actions triggers CI/CD 6. Tests run automatically 7. If tests pass, deploy to production ``` --- ## Success Criteria ✅ Changes committed automatically ✅ Intelligent commit messages generated ✅ CI/CD pipeline runs on push ✅ Tests execute successfully ✅ Deployment automated --- ## Time Savings **Manual Git Workflow**: ~5 minutes per commit - Check status: 30 sec - Stage files: 30 sec - Write commit message: 2 min - Commit: 30 sec - Push: 30 sec - Check CI/CD: 1 min **With This Skill**: ~30 seconds - Run auto_commit.py: 30 sec **Savings**: ~4.5 minutes per commit **Daily Savings** (10 commits): ~45 minutes --- ## Future Enhancements - Conventional commits support - Automatic changelog generation - Semantic versioning automation - PR template generation - Code review automation - Merge conflict resolution - Branch protection rules setup --- **Created**: February 10, 2026 **Status**: Production Ready **Tested**: GitHub, GitHub Actions, GitHub CLI
Voir sur GitHub