Maintainers#
Maintainers possess elevated permissions in comparison to developers and carry the responsibility of upholding code integrity. Their duties encompass not only integrating merge requests into the master branch but also overseeing the creation of new releases. This role involves ensuring that the codebase remains cohesive and robust, aligning with project objectives and quality standards. Additionally, maintainers play a pivotal role in fostering collaboration among team members, facilitating efficient code reviews, and resolving conflicts to uphold the overall health of the software development process.
Pull request#
Upon submission of a merge request, an automated pipeline is triggered to build and deploy the documentation, while also conducting doctests, unit tests and integration testing. It is imperative not to proceed with merging to the main branch until the pipeline has completed successfully. The status of the pipeline can be monitored in the action tab. Only once the pipeline has executed without errors may you proceed to merge.
Checklist
Review the code
Merge to master
Update the Changelog from master and commit
Code review
Review the code.
Merge
Merge after reviewing the code
Update CHANGELOG.rst
Checkout master, pull, update the CHANGELOG, and commit. Review
CHANGELOG.rst and modify if needed. the sections are:
New Features
Breaking changes
Deprecations
Bug fixes
Documentation
Internal changes
Release#
Checklist
Checkout master and pull
Update the changelog, commit and push
Create a new tag
Create a gitlab release for the new tag
Checkout master and pull
git checkout master
git pull
Update CHANGELOG.rst
Open CHANGELOG.rst, change tag to next version, commit and push.
Create new tag
Check the existing tags:
git tag
0.3.5
0.3.6
0.3.7
0.3.8
The first number if for a major release that may have breaking changes. The second number is when a new feature is added. The last number is for improvements, bug fixes and minor modifications.
Now you can increment to e.g 0.3.9.
git tag 0.3.9
Now you can push the tag to the remote:
git push --tags
A new pipeline is triggered which deploys the pyku documentation.