Skip to content

Commit 1cf3530

Browse files
committed
Implement COSS (Contribution Open Source Specification)
- Add coss.toml with comprehensive project metadata - Create CONTRIBUTING.md with contribution guidelines - Add COSS compliance badge to README - Document maintainers, build process, and technical specifications - Include governance and maintenance information This makes the project COSS-compliant, providing standardized metadata for better project discovery and contribution transparency.
1 parent 1a24217 commit 1cf3530

File tree

3 files changed

+186
-0
lines changed

3 files changed

+186
-0
lines changed

CONTRIBUTING.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Contributing to capistrano-sidekiq
2+
3+
We love pull requests from everyone. By participating in this project, you agree to abide by our code of conduct (coming soon).
4+
5+
## Getting Started
6+
7+
1. Fork the repository
8+
2. Clone your fork: `git clone [email protected]:your-username/capistrano-sidekiq.git`
9+
3. Set up your development environment: `bundle install`
10+
4. Create a feature branch: `git checkout -b my-new-feature`
11+
12+
## Making Changes
13+
14+
1. Make your changes
15+
2. Add tests for your changes
16+
3. Run the test suite: `bundle exec rake test`
17+
4. Update documentation if necessary
18+
5. Update CHANGELOG.md with your changes
19+
20+
## Code Style
21+
22+
- Follow Ruby community style guidelines
23+
- Keep code simple and readable
24+
- Add comments for complex logic
25+
- Use meaningful variable and method names
26+
27+
## Testing
28+
29+
- Write tests for any new functionality
30+
- Ensure all tests pass before submitting
31+
- Test with different Ruby versions if possible
32+
- Test with Docker: `bundle exec rake test`
33+
34+
## Submitting Changes
35+
36+
1. Push to your fork: `git push origin my-new-feature`
37+
2. Create a pull request
38+
3. Describe your changes in the PR description
39+
4. Reference any related issues
40+
41+
## Pull Request Guidelines
42+
43+
- Keep PRs focused on a single feature or fix
44+
- Update documentation for any changed behavior
45+
- Add entries to CHANGELOG.md
46+
- Ensure CI passes
47+
- Be responsive to feedback
48+
49+
## Reporting Issues
50+
51+
- Use the GitHub issue tracker
52+
- Check if the issue already exists
53+
- Include reproduction steps
54+
- Provide system information:
55+
- Ruby version
56+
- Capistrano version
57+
- Sidekiq version
58+
- Systemd version (if relevant)
59+
60+
## Development Setup
61+
62+
```bash
63+
# Clone the repo
64+
git clone https://github.com/seuros/capistrano-sidekiq.git
65+
cd capistrano-sidekiq
66+
67+
# Install dependencies
68+
bundle install
69+
70+
# Run tests
71+
bundle exec rake test
72+
73+
# Run tests in Docker
74+
docker build -t capistrano-sidekiq-test test/
75+
docker run capistrano-sidekiq-test
76+
```
77+
78+
## Release Process
79+
80+
Releases are managed by maintainers. The process is:
81+
82+
1. Update version in `lib/capistrano/sidekiq/version.rb`
83+
2. Update CHANGELOG.md
84+
3. Run tests
85+
4. Build gem: `bundle exec rake build`
86+
5. Release: `bundle exec rake release`
87+
88+
## Questions?
89+
90+
Feel free to open an issue for any questions about contributing.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Capistrano::Sidekiq
22

33
[![Gem Version](https://badge.fury.io/rb/capistrano-sidekiq.svg)](http://badge.fury.io/rb/capistrano-sidekiq)
4+
[![COSS Compliant](https://img.shields.io/badge/COSS-compliant-green.svg)](https://github.com/contriboss/coss_spec)
45

56
Sidekiq integration for Capistrano - providing systemd service management and deployment coordination.
67

coss.toml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# COSS (Contribution Open Source Specification) v0.0.2
2+
# This file provides standardized metadata for the capistrano-sidekiq project
3+
4+
[project]
5+
name = "capistrano-sidekiq"
6+
version = "3.0.0"
7+
description = "Sidekiq integration for Capistrano - manage Sidekiq processes during deployments"
8+
licenses = ["LGPL-3.0"]
9+
homepage = "https://github.com/seuros/capistrano-sidekiq"
10+
11+
[repository]
12+
url = "https://github.com/seuros/capistrano-sidekiq"
13+
type = "git"
14+
default_branch = "master"
15+
16+
[issues]
17+
url = "https://github.com/seuros/capistrano-sidekiq/issues"
18+
type = "github"
19+
20+
[technical]
21+
primary_languages = ["Ruby"]
22+
frameworks = ["Capistrano", "Sidekiq"]
23+
minimum_ruby_version = "2.5.0"
24+
25+
[build]
26+
commands = ["bundle install"]
27+
test_commands = ["bundle exec rake test"]
28+
29+
[dependencies]
30+
runtime = [
31+
"capistrano >= 3.9.0",
32+
"capistrano-bundler",
33+
"sidekiq >= 6.0.6"
34+
]
35+
development = [
36+
"minitest ~> 5.0",
37+
"rake ~> 13.0"
38+
]
39+
40+
[maintainers]
41+
[[maintainers.primary]]
42+
name = "Abdelkader Boudih"
43+
44+
github = "seuros"
45+
46+
[maintenance]
47+
status = "active"
48+
release_process = """
49+
1. Update version in lib/capistrano/sidekiq/version.rb
50+
2. Update CHANGELOG.md
51+
3. Run tests: bundle exec rake test
52+
4. Build gem: bundle exec rake build
53+
5. Release: bundle exec rake release
54+
"""
55+
56+
[quality]
57+
linting = "rubocop (planned)"
58+
testing_framework = "minitest"
59+
ci_platform = "GitHub Actions"
60+
code_coverage = "planned"
61+
62+
[documentation]
63+
primary_docs = "README.md"
64+
additional_docs = [
65+
"docs/SYSTEMD_INTEGRATION.md",
66+
"SYSTEMD.md",
67+
"CHANGELOG.md"
68+
]
69+
api_docs = "YARD (planned)"
70+
71+
[community]
72+
contributing_guide = "README.md#contributing"
73+
code_of_conduct = "planned"
74+
support_channels = [
75+
"GitHub Issues",
76+
"GitHub Discussions (planned)"
77+
]
78+
79+
[security]
80+
security_policy = "planned"
81+
vulnerability_reporting = "via GitHub Security Advisories"
82+
83+
[compatibility]
84+
sidekiq_versions = "6.0+"
85+
capistrano_versions = "3.9+"
86+
ruby_versions = "2.5+"
87+
systemd_versions = "206+"
88+
89+
[features]
90+
systemd_integration = true
91+
multiple_processes = true
92+
per_server_configuration = true
93+
user_switching = true
94+
lingering_support = true
95+
custom_templates = true

0 commit comments

Comments
 (0)