Guidelines¶
This section describes guidelines that shall be followed.
Bash commands are assumed to be executed from the root directory of the repository.
Deliver on an integration branch¶
Check licence headers:
repo-checklicenseheaders
There should be no error. Fix headers if needed. If files have been modified, commit them (probably with the
--amend
option).Check typings:
./tools/checktypes.py
There should be no error. Fix things if needed. If files have been modified, commit them (probably with the
--amend
option).Check tests:
Check test data is up-to-date:
./tools/updatetestdata.py
./test/run-unit-campaign.py
There may be warnings, but no errors.
Check documentation:
Generation the documentation:
rm -rf ./doc/html/ ./tools/mkdoc.py
Check the ‘mkdoc.py’ output log errors and warnings:
There may be TODO warnings, especially for sections that still have to be documented.
There may be warnings for “duplicate object” (see issue #25)
There shall be no other errors.
Check the HTML output in ‘doc/html/’:
Check the pages that use the
.. literalinclude::
directive with the:lines:
option (following list established as of version v0.2.0):advanced.config-db.html
advanced.handlers.html
advanced.launcher.html
advanced.logging.html
advanced.subscenarios.html
advanced.test-libs.html
quickstart.html
Check files encoding:
Check all files use utf-8 encoding and unix end-of-line characters, and have the appropriate permissions:
repo-checkfiles --all
If files have been modified, this should be minor modifications. Check line encoding modifications with
git diff -b
. Commit the modifications (probably with the--amend
option).
Deliver a new version¶
Merge on the master branch:
git checkout master git merge --squash --ff-only int/vX.Y.Z+
Update the commit message, then:
git commit
Check the scenario version stored in the code:
Check the version tuple defined in ‘src/pkginfo.py’.
If files have been modified, commit them (probably with the
--amend
option).Apply delivery checking as described before.
Update the documentation:
Check the
copyright
andversion
variables in ‘tools/conf/sphinx/conf.py’.Regenerate the documentation:
rm -rf doc/html/ ./tools/mkdoc.py
Commit modifications (with the
--amend
option).Add a tag on the final node:
git tag vX.Y.Z
Push on the github repository:
git push git push vX.Y.Z
Configure readthedocs:
Go to the readthedocs project page.
Configure a build for the new version, and set it as the default.