Thank you for your interest in contributing to this project! Whether you're fixing a bug, suggesting an improvement, or updating documentation, your contributions are valued. This guide outlines how to contribute effectively and serves as a reference for maintainers.
This repository is a Docker context for building a BinderHub image. It's integral to another application called ckcode
, which relies on two critical branches: ckcode-staging
and ckcode-production
. These branches are used in the build system of ckcode
and are protected to ensure stability.
The ckcode-staging
and ckcode-production
branches are protected, meaning direct pushes to these branches are not allowed. All changes must be made through pull requests (PRs), ensuring proper review and testing before they are merged.
-
Fork the Repository: Begin by forking this repository to your GitHub account.
-
Clone Your Fork: Clone your forked repository to your local machine.
-
Create a New Branch: Always create a new branch for your changes. Use a descriptive name for your branch, such as
fix/typo-in-readme
orfeature/add-new-parameter
. -
Make Your Changes: Implement your changes locally. This could include code updates, documentation changes, or bug fixes.
-
Commit Your Changes: Once your changes are ready, commit them with a clear and descriptive message. We encourage you to follow the Conventional Commits standard for your commit messages. This helps maintain a consistent and readable history. Some examples of prefixes you can use:
feat:
for new featuresfix:
for bug fixesdocs:
for documentation updatesstyle:
for formatting changesrefactor:
for code refactoringtest:
for adding or updating tests
-
Push to Your Fork: Push your branch to your forked repository.
-
Submit a Pull Request: Go to the original repository on GitHub and submit a pull request from your branch to the
ckcode-staging
branch. Please provide a detailed explanation of your changes. -
Review and Merge: Once submitted, your pull request will be reviewed. If approved, it will be merged into the
ckcode-staging
branch. If changes are requested, address them promptly. -
Testing and Deployment:
- Staging: After your PR is merged into
ckcode-staging
, the changes will be deployed to the staging environment. The staging server automatically tracks theckcode-staging
branch, but be aware that your browser might cache old connections. Clear your cache or use an incognito window to view the latest updates. - Production: Following successful testing in staging, changes will be merged into the
ckcode-production
branch and deployed to the production environment, which tracks theckcode-production
branch. Again, clear your cache or use an incognito window to view the latest updates, and remember that it can take a bit of time for the changes to propagate to other users.
- Staging: After your PR is merged into
- Always ensure that contributions are thoroughly reviewed and tested in the
ckcode-staging
environment before merging intockcode-production
. - Regularly monitor the staging and production servers for any issues after deployments.
- Encourage clear communication in pull requests to maintain transparency and ease of collaboration.
This guide is designed to streamline the contribution process and ensure that all changes are handled efficiently and securely. Thank you for helping to improve our project!