Thank you for your interest in contributing to svn-binary. This document provides guidelines and instructions for contributing to the project.
By participating in this project, you agree to maintain a professional and respectful environment for all contributors.
When reporting issues, please include:
- A clear and descriptive title
- Detailed steps to reproduce the problem
- Expected behavior vs. actual behavior
- Environment details (runner OS, Docker version, GitHub Actions version)
- Relevant logs or error messages
Enhancement suggestions are welcome. Please provide:
- A clear description of the proposed feature
- Use cases and benefits
- Potential implementation approach (if applicable)
- Fork the repository and create your branch from
main - Make your changes following the coding standards below
- Test your changes thoroughly
- Update documentation as needed (README, inline comments)
- Commit with clear messages describing the changes
- Submit a pull request with a comprehensive description
- Use clear, descriptive variable and function names
- Add comments for complex logic
- Follow existing code style and formatting
- Ensure all shell scripts are POSIX-compliant where possible
- Test on Linux (ubuntu-latest) runners
Before submitting a pull request:
-
Build the Docker image locally:
docker build -t svn-binary:test . -
Test the action locally (requires act):
act workflow_dispatch -W .github/workflows/smoke-test.yml
-
Verify the
svncommand works:docker run --rm svn-binary:test --version
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/your-feature-name - Make changes and test thoroughly
- Commit:
git commit -m "Description of changes" - Push:
git push origin feature/your-feature-name - Open a pull request against the
mainbranch
Releases are managed by maintainers:
- Update version in relevant files
- Update CHANGELOG.md with release notes
- Create a GitHub release with appropriate tags
- The CI/CD pipeline automatically builds and publishes container images
For questions not covered here, please open an issue with the question label.
By contributing, you agree that your contributions will be licensed under the MIT License.