Before contributing to the open source project on GitHub, please consider that this project is opeen source but not collaborative. The features it includes are specifically designed to the needs of Buckinghamshire Council.
Feature submissions are unlikely to be included in the project, unless the feature is specifically desired by the council. Bugfixes will be reviewed and included accoring to the process described below. Please be sure to follow the guidelines below on how to contribute to this open source project.
Internal development happens on an internal GitLab instance.
A merge or push to the protetected master
branch triggers a push to the open source GitHub repository.
No active development happens on GitHub itself.
The current setup was chosen to allow for open sourcing the repository without the need to migrate the whole CI setup from GitLab to GitHub. This setup may be changed in the future to remove the need of managing two repositories.
If you would like to contribute a bugfix to this project, just follow the normal flow for contributions on GitHub.
-
Fork this repository on GitHub to create your own copy of it.
-
Clone your fork of the repository to your local development machine.
git clone [URL TO GIT REMOTE]
-
Create a new branch for the bugfix.
git checkout -b fix/something-broken
-
Create a local setup and implement your changes.
git commit fixed_file.py
-
Push your local fix branch to your GitHub fork.
git push origin fix/something-broken
-
View you fork of the repository on GitHub and create a Pull Request back to the
master
branch of the main repository. Please include a description of the bug your PR is fixing and why you solved it the way you did.
This section is for maintainers and reviewers of the internal project.
Since CI has not been migrated to GitHub yet, automatic formatting, linting and test are not available at that point. The CI will run once the changes on GitHub are integrated to GitLab.
- Review the GitHub Pull Request accoring to the project standards.
- Be sure to check for undesired side-effects of the bugfix.
- If you're happy with the PR, merge it into
master
on GitHub.
master
on GitHub will be overriden by the next push from GitLab.
To avoid losing the just merged changes you need to integrate them into the GitLab repo.
-
Add the GitHub repo to your local development setup.
git remote add github [Github Repo URL]
-
Create a new branch from
release
on GitLab.git checkout release git pull origin release git checkout -b fix/fix-from-github
-
Pull fix from
master
on GitHub into the new branchgit pull github master
-
Push the new branch to GitLab.
git push origin fix/fix-from-github
-
Check the CI pipeline to see if any formatting/linting/tests need to be fixed. If so, do this in your local branch and push the changes again.
-
Create a Merge Request on GitLab for the new branch to the
release
branch. Proceed with the normal review process to make sure we want to include these changes into the project.