Skip to content

Commit 5bce7b3

Browse files
authored
Merge pull request #63 from objectstack-ai/copilot/create-github-workflows
2 parents b0df05f + f825a20 commit 5bce7b3

22 files changed

+1097
-41
lines changed

.github/README.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# .github Directory
2+
3+
This directory contains all GitHub-specific configuration and automation for the ObjectOS repository.
4+
5+
## 📁 Structure
6+
7+
```
8+
.github/
9+
├── workflows/ # GitHub Actions workflow definitions
10+
│ ├── test.yml # CI/CD - Testing and building
11+
│ ├── codeql.yml # Security scanning
12+
│ ├── lint.yml # Code quality checks
13+
│ ├── release.yml # Package release automation
14+
│ ├── deploy-docs.yml # Documentation deployment
15+
│ ├── pr-*.yml # PR automation workflows
16+
│ ├── stale.yml # Stale issue management
17+
│ ├── greetings.yml # Welcome first-time contributors
18+
│ └── check-links.yml # Documentation link validation
19+
├── dependabot.yml # Automated dependency updates
20+
├── labeler.yml # PR labeling rules
21+
└── WORKFLOWS.md # Detailed workflow documentation
22+
```
23+
24+
## 🤖 Automation Overview
25+
26+
### CI/CD
27+
- **Continuous Integration:** Automated testing on every PR
28+
- **Security Scanning:** CodeQL analysis for vulnerabilities
29+
- **Documentation:** Auto-deploy to GitHub Pages
30+
31+
### Code Quality
32+
- **Linting:** TypeScript compilation checks
33+
- **PR Validation:** Title format and size checks
34+
- **Link Checking:** Validate documentation links
35+
36+
### Dependency Management
37+
- **Dependabot:** Weekly dependency updates
38+
- **Security Alerts:** Automated vulnerability scanning
39+
40+
### Community
41+
- **Auto-labeling:** PRs labeled by changed files and size
42+
- **Greetings:** Welcome first-time contributors
43+
- **Stale Management:** Auto-close inactive issues/PRs
44+
45+
## 📖 Documentation
46+
47+
For detailed information about each workflow, see [WORKFLOWS.md](./WORKFLOWS.md)
48+
49+
## 🔧 Configuration Files
50+
51+
### dependabot.yml
52+
Configures automated dependency updates for:
53+
- npm packages (weekly on Mondays)
54+
- GitHub Actions (weekly on Mondays)
55+
56+
### labeler.yml
57+
Defines rules for automatic PR labeling based on file paths:
58+
- Package-specific labels (kernel, server, ui, presets)
59+
- Content-type labels (documentation, tests, configuration)
60+
- Change-type labels (dependencies, workflows)
61+
62+
### markdown-link-check-config.json
63+
Configures the link checker for documentation:
64+
- Timeout settings
65+
- Retry behavior
66+
- URL patterns to ignore
67+
68+
## 🚀 Quick Start
69+
70+
### For Contributors
71+
72+
Most automation happens automatically:
73+
1. Open a PR → Auto-labeled by files and size
74+
2. PR title validated → Must follow Conventional Commits
75+
3. Tests run automatically → Must pass before merge
76+
4. First contribution → Receive welcome message
77+
78+
### For Maintainers
79+
80+
Key workflows:
81+
- **Release:** Manually trigger from Actions tab
82+
- **Stale cleanup:** Runs daily, can be triggered manually
83+
- **Security scan:** Runs weekly and on every PR
84+
85+
## 🛡️ Security
86+
87+
- All workflows use pinned action versions
88+
- Minimum required permissions for each workflow
89+
- Secrets properly configured for sensitive operations
90+
- CodeQL scanning on schedule and PRs
91+
92+
## 📝 Modifying Workflows
93+
94+
1. Edit workflow files in `workflows/` directory
95+
2. Validate YAML syntax before committing
96+
3. Test changes in a fork if possible
97+
4. Update WORKFLOWS.md documentation
98+
99+
## 🔍 Monitoring
100+
101+
View workflow runs:
102+
- Go to the [Actions tab](https://github.com/objectstack-ai/objectos/actions)
103+
- Filter by workflow name
104+
- Check logs for failures
105+
106+
## ⚙️ Troubleshooting
107+
108+
Common issues:
109+
110+
**Workflow not triggering?**
111+
- Check trigger conditions in workflow file
112+
- Verify file path filters match your changes
113+
114+
**Workflow failing?**
115+
- Check workflow logs in Actions tab
116+
- Verify required secrets are configured
117+
- Check for rate limits or API issues
118+
119+
**Dependabot not creating PRs?**
120+
- Check dependabot.yml syntax
121+
- Verify schedule configuration
122+
- Check repository settings for Dependabot
123+
124+
## 📚 Resources
125+
126+
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
127+
- [Dependabot Documentation](https://docs.github.com/en/code-security/dependabot)
128+
- [CodeQL Documentation](https://codeql.github.com/docs/)
129+
130+
---
131+
132+
For more details, see [WORKFLOWS.md](./WORKFLOWS.md)

0 commit comments

Comments
 (0)