ci: update CI/CD configuration
This commit is contained in:
parent
a34bc3dc7f
commit
4cd5bec42a
118
.windsurf/workflows/commit-workspace.md
Normal file
118
.windsurf/workflows/commit-workspace.md
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
---
|
||||||
|
description: Commit all workspace changes in logical order with intelligent messages
|
||||||
|
date: 2025-02-12
|
||||||
|
---
|
||||||
|
|
||||||
|
# Commit Workspace
|
||||||
|
|
||||||
|
Scans all repositories for pending changes and commits them in logical order with intelligent commit messages.
|
||||||
|
|
||||||
|
// turbo
|
||||||
|
~/commit-workspace.sh
|
||||||
|
|
||||||
|
## What it does:
|
||||||
|
|
||||||
|
1. **Scans** all 3 repos for changes:
|
||||||
|
- learning_ai_common_plat
|
||||||
|
- learning_voice_ai_agent
|
||||||
|
- learning_multimodal_memory_agents
|
||||||
|
|
||||||
|
2. **Analyzes** changed files to determine:
|
||||||
|
- Commit scope (auth, ci, docs, feat, chore, etc.)
|
||||||
|
- Appropriate commit message
|
||||||
|
- Logical grouping
|
||||||
|
|
||||||
|
3. **Commits** in dependency order:
|
||||||
|
- Always commits common platform first
|
||||||
|
- Then other repos
|
||||||
|
|
||||||
|
4. **Pushes** all changes to origin
|
||||||
|
|
||||||
|
## Commit Message Logic:
|
||||||
|
|
||||||
|
The script analyzes file types to generate appropriate messages:
|
||||||
|
|
||||||
|
| File Pattern | Commit Message Example |
|
||||||
|
| ------------------------- | ---------------------------------------------------- |
|
||||||
|
| auth/middleware/jwt files | `feat(auth): update authentication and middleware` |
|
||||||
|
| .github/workflows/ | `ci: update CI/CD configuration` |
|
||||||
|
| Dockerfile + package.json | `feat: update Dockerfile for pnpm workspace support` |
|
||||||
|
| package.json, lock files | `chore: update dependencies` |
|
||||||
|
| \*.md files | `docs: update documentation` |
|
||||||
|
| \*.py, requirements.txt | `feat(python): update Python modules` |
|
||||||
|
| test/, _spec_ | `test: add/update tests` |
|
||||||
|
| .env, config files | `chore: update configuration` |
|
||||||
|
| Other files | `chore: update project files` |
|
||||||
|
|
||||||
|
## Usage:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run from anywhere
|
||||||
|
~/commit-workspace.sh
|
||||||
|
|
||||||
|
# Or via Windsurf
|
||||||
|
/commit-workspace
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example Output:
|
||||||
|
|
||||||
|
```
|
||||||
|
📋 Scanning workspace for changes...
|
||||||
|
|
||||||
|
📁 learning_ai_common_plat:
|
||||||
|
- 2 staged
|
||||||
|
- 1 modified
|
||||||
|
|
||||||
|
📁 learning_voice_ai_agent:
|
||||||
|
- 3 untracked
|
||||||
|
|
||||||
|
Found changes in 2 repo(s)
|
||||||
|
|
||||||
|
🚀 Committing in dependency order...
|
||||||
|
|
||||||
|
📝 Committing learning_ai_common_plat...
|
||||||
|
Message: feat(auth): update authentication and middleware
|
||||||
|
✅ Committed
|
||||||
|
|
||||||
|
📤 Pushing learning_ai_common_plat...
|
||||||
|
✅ Pushed
|
||||||
|
|
||||||
|
📝 Committing learning_voice_ai_agent...
|
||||||
|
Message: docs: update documentation
|
||||||
|
✅ Committed
|
||||||
|
|
||||||
|
📤 Pushing learning_voice_ai_agent...
|
||||||
|
✅ Pushed
|
||||||
|
|
||||||
|
✨ All changes committed and pushed!
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features:
|
||||||
|
|
||||||
|
- ✅ No prompts - fully automated
|
||||||
|
- ✅ Intelligent commit messages
|
||||||
|
- ✅ Logical dependency order
|
||||||
|
- ✅ Stages all changes automatically
|
||||||
|
- ✅ Pushes after each commit
|
||||||
|
- ✅ Clean, colored output
|
||||||
|
|
||||||
|
## Safety:
|
||||||
|
|
||||||
|
- Always shows what will be committed
|
||||||
|
- Uses conventional commit format
|
||||||
|
- Commits in correct order to avoid issues
|
||||||
|
- Preserves all changes
|
||||||
|
|
||||||
|
## When to Use:
|
||||||
|
|
||||||
|
- After making changes across multiple repos
|
||||||
|
- Before switching contexts/tasks
|
||||||
|
- At the end of a development session
|
||||||
|
- When preparing for releases
|
||||||
|
|
||||||
|
## Notes:
|
||||||
|
|
||||||
|
- Script location: `~/commit-workspace.sh`
|
||||||
|
- Requires git access to all repos
|
||||||
|
- Works with any branch (but assumes main is primary)
|
||||||
|
- Will skip repos with no changes
|
||||||
Loading…
Reference in New Issue
Block a user