Skip to content

Latest commit

 

History

History
89 lines (61 loc) · 2.55 KB

File metadata and controls

89 lines (61 loc) · 2.55 KB

Contributing to svn-binary

Thank you for your interest in contributing to svn-binary. This document provides guidelines and instructions for contributing to the project.

Code of Conduct

By participating in this project, you agree to maintain a professional and respectful environment for all contributors.

How to Contribute

Reporting Issues

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

Suggesting Enhancements

Enhancement suggestions are welcome. Please provide:

  • A clear description of the proposed feature
  • Use cases and benefits
  • Potential implementation approach (if applicable)

Pull Requests

  1. Fork the repository and create your branch from main
  2. Make your changes following the coding standards below
  3. Test your changes thoroughly
  4. Update documentation as needed (README, inline comments)
  5. Commit with clear messages describing the changes
  6. Submit a pull request with a comprehensive description

Coding Standards

  • 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

Testing

Before submitting a pull request:

  1. Build the Docker image locally:

    docker build -t svn-binary:test .
  2. Test the action locally (requires act):

    act workflow_dispatch -W .github/workflows/smoke-test.yml
  3. Verify the svn command works:

    docker run --rm svn-binary:test --version

Development Workflow

  1. Clone your fork locally
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make changes and test thoroughly
  4. Commit: git commit -m "Description of changes"
  5. Push: git push origin feature/your-feature-name
  6. Open a pull request against the main branch

Release Process

Releases are managed by maintainers:

  1. Update version in relevant files
  2. Update CHANGELOG.md with release notes
  3. Create a GitHub release with appropriate tags
  4. The CI/CD pipeline automatically builds and publishes container images

Questions?

For questions not covered here, please open an issue with the question label.

License

By contributing, you agree that your contributions will be licensed under the MIT License.