Skip to content

Commit 9f1fc63

Browse files
Merge pull request #4 from vilsonrodrigues/feat/complete-ci-cd-setup
feat: Add complete CI/CD infrastructure and documentation
2 parents 02a1873 + 9745fc6 commit 9f1fc63

26 files changed

+3322
-44
lines changed

.github/CODEOWNERS

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Code owners for msgspec-ext
2+
#
3+
# These owners will be automatically requested for review
4+
# when someone opens a pull request.
5+
6+
# Default owner for everything
7+
* @vilsonrodrigues
8+
9+
# Documentation
10+
/docs/ @vilsonrodrigues
11+
*.md @vilsonrodrigues
12+
13+
# CI/CD and automation
14+
/.github/ @vilsonrodrigues
15+
/scripts/ @vilsonrodrigues
16+
17+
# Core SDK
18+
/src/msgspec_ext/sdk/ @vilsonrodrigues
19+
/src/msgspec_ext/core/ @vilsonrodrigues
20+
21+
# Tests
22+
/tests/ @vilsonrodrigues
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Bug Report
2+
description: Report a bug or unexpected behavior
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report a bug! Please fill out the information below.
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Description
15+
description: A clear and concise description of what the bug is.
16+
placeholder: What happened?
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: reproduce
22+
attributes:
23+
label: Steps to Reproduce
24+
description: Steps to reproduce the behavior
25+
placeholder: |
26+
1. Install msgspec-ext
27+
2. Run code with '...'
28+
3. See error
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: Expected Behavior
36+
description: What did you expect to happen?
37+
placeholder: What should have happened?
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: actual
43+
attributes:
44+
label: Actual Behavior
45+
description: What actually happened?
46+
placeholder: What actually happened instead?
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: code
52+
attributes:
53+
label: Code Example
54+
description: Minimal code to reproduce the issue
55+
render: python
56+
placeholder: |
57+
from msgspec_ext.sdk import Spans, MsgTraceAttributes
58+
59+
# Your code here
60+
61+
- type: input
62+
id: version
63+
attributes:
64+
label: msgspec-ext Version
65+
description: What version are you using?
66+
placeholder: "1.0.0"
67+
validations:
68+
required: true
69+
70+
- type: input
71+
id: python-version
72+
attributes:
73+
label: Python Version
74+
description: What Python version are you using?
75+
placeholder: "3.11"
76+
validations:
77+
required: true
78+
79+
- type: input
80+
id: os
81+
attributes:
82+
label: Operating System
83+
description: What OS are you running?
84+
placeholder: "Ubuntu 22.04 / macOS 14 / Windows 11"
85+
86+
- type: textarea
87+
id: additional
88+
attributes:
89+
label: Additional Context
90+
description: Any other information that might be helpful (logs, screenshots, etc.)
91+
placeholder: Add any other context about the problem here
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Feature Request
2+
description: Suggest an idea or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting a new feature! Please describe your idea below.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem Statement
15+
description: Is your feature request related to a problem? Please describe.
16+
placeholder: I'm frustrated when...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Proposed Solution
24+
description: Describe the solution you'd like
25+
placeholder: I would like to be able to...
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternatives Considered
33+
description: Have you considered any alternative solutions or workarounds?
34+
placeholder: I've tried...
35+
36+
- type: textarea
37+
id: use-case
38+
attributes:
39+
label: Use Case
40+
description: Describe your use case and how this feature would help
41+
placeholder: This would help me...
42+
validations:
43+
required: true
44+
45+
- type: textarea
46+
id: example
47+
attributes:
48+
label: Code Example (Optional)
49+
description: If applicable, show how you'd like to use this feature
50+
render: python
51+
placeholder: |
52+
from msgspec_ext.sdk import Spans
53+
54+
# Your desired API usage
55+
56+
- type: textarea
57+
id: additional
58+
attributes:
59+
label: Additional Context
60+
description: Any other information that might be helpful
61+
placeholder: Add any other context or screenshots about the feature request here

.github/dependabot.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
version: 2
2+
updates:
3+
# Python dependencies
4+
- package-ecosystem: "pip"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
day: "monday"
9+
time: "09:00"
10+
open-pull-requests-limit: 10
11+
reviewers:
12+
- "msgflux/maintainers"
13+
labels:
14+
- "dependencies"
15+
- "python"
16+
commit-message:
17+
prefix: "CHORE"
18+
prefix-development: "CHORE"
19+
groups:
20+
# Group OpenTelemetry packages together
21+
opentelemetry:
22+
patterns:
23+
- "opentelemetry-*"
24+
# Group dev dependencies together
25+
dev-dependencies:
26+
dependency-type: "development"
27+
update-types:
28+
- "minor"
29+
- "patch"
30+
31+
# GitHub Actions dependencies
32+
- package-ecosystem: "github-actions"
33+
directory: "/"
34+
schedule:
35+
interval: "weekly"
36+
day: "monday"
37+
time: "09:00"
38+
open-pull-requests-limit: 5
39+
labels:
40+
- "dependencies"
41+
- "github-actions"
42+
commit-message:
43+
prefix: "CHORE"

.github/pull_request_template.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
## Summary
2+
3+
<!-- Brief description of what this PR does -->
4+
5+
## Changes
6+
7+
<!-- List the main changes in this PR -->
8+
-
9+
-
10+
-
11+
12+
## Type of Change
13+
14+
<!-- Mark the relevant option with an "x" -->
15+
- [ ] Bug fix (non-breaking change which fixes an issue)
16+
- [ ] New feature (non-breaking change which adds functionality)
17+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
18+
- [ ] Documentation update
19+
- [ ] Code refactoring
20+
- [ ] Performance improvement
21+
- [ ] Test improvement
22+
- [ ] CI/CD improvement
23+
- [ ] Chore/maintenance
24+
25+
## Testing
26+
27+
<!-- Describe how you tested these changes -->
28+
- [ ] Tests pass locally (`uv run pytest -v`)
29+
- [ ] Added new tests for this change
30+
- [ ] Updated existing tests
31+
32+
## Documentation
33+
34+
<!-- Check if documentation needs updating -->
35+
- [ ] Updated README.md (if API changed)
36+
- [ ] Updated CHANGELOG.md (if notable change)
37+
- [ ] Added/updated code comments
38+
- [ ] Added/updated docstrings
39+
40+
## Checklist
41+
42+
<!-- Mark completed items with an "x" -->
43+
- [ ] Code formatted (`uv run ruff format`)
44+
- [ ] Lint checks pass (`uv run ruff check`)
45+
- [ ] Tests pass (`uv run pytest -v`)
46+
- [ ] **Version NOT changed** (maintainers bump version after merge)
47+
- [ ] Commit messages follow [conventional commits](https://www.conventionalcommits.org/)
48+
- [ ] No breaking changes (or documented above)
49+
- [ ] Added tests for new features
50+
- [ ] Documentation is up to date
51+
52+
## Additional Notes
53+
54+
<!-- Any additional information reviewers should know -->

.github/release-drafter.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name-template: 'v$RESOLVED_VERSION'
2+
tag-template: 'v$RESOLVED_VERSION'
3+
4+
categories:
5+
- title: '🚨 Breaking Changes'
6+
labels:
7+
- 'breaking-change'
8+
- 'breaking'
9+
- title: '🚀 Features'
10+
labels:
11+
- 'enhancement'
12+
- 'feat'
13+
- 'feature'
14+
- title: '🐛 Bug Fixes'
15+
labels:
16+
- 'bug'
17+
- 'fix'
18+
- title: '⚡ Performance'
19+
labels:
20+
- 'performance'
21+
- 'perf'
22+
- title: '🔐 Security'
23+
labels:
24+
- 'security'
25+
- title: '📚 Documentation'
26+
labels:
27+
- 'documentation'
28+
- 'docs'
29+
- title: '🔄 Refactoring'
30+
labels:
31+
- 'refactor'
32+
- 'refactoring'
33+
- title: '🧪 Tests'
34+
labels:
35+
- 'tests'
36+
- 'test'
37+
- title: '🤖 CI/CD'
38+
labels:
39+
- 'ci'
40+
- 'ci-cd'
41+
- title: '📦 Dependencies'
42+
labels:
43+
- 'dependencies'
44+
- title: '🔧 Maintenance'
45+
labels:
46+
- 'maintenance'
47+
- 'chore'
48+
49+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
50+
change-title-escapes: '\<*_&'
51+
52+
version-resolver:
53+
major:
54+
labels:
55+
- 'breaking-change'
56+
- 'major'
57+
minor:
58+
labels:
59+
- 'enhancement'
60+
- 'feat'
61+
- 'feature'
62+
patch:
63+
labels:
64+
- 'bug'
65+
- 'fix'
66+
- 'patch'
67+
- 'documentation'
68+
- 'dependencies'
69+
default: patch
70+
71+
template: |
72+
## Changes
73+
74+
$CHANGES
75+
76+
## Contributors
77+
78+
Thank you to all contributors! 🙏
79+
80+
$CONTRIBUTORS

0 commit comments

Comments
 (0)