-
Notifications
You must be signed in to change notification settings - Fork 26
How the Gatekeeper accepts the pull request
Michael Levy edited this page Sep 26, 2018
·
8 revisions
Once a developer has issued a pull request and the code has been reviewed, the gatekeeper (@mnlevy1981) will handle the final merge onto development
in github with the following steps:
- In local checkout, make sure
development
and the branch to merge (branch
) are up-to-date with github (development
comes from marbl-ecosys/MARBL,branch
comes from repository specified in pull request)- Also check to see that
development
has been merged intobranch
(the developer should have done this)
- Also check to see that
- Merge
branch
ontodevelopment
- Use
git merge branch --no-ff
to force a commit message highlighting the merge (and to keep the branch structure in the git graph); instead of default commit message, copy the first comment from pull request - Given (1i), there should not be any conflicts to resolve; the resulting
development
will be indentical tobranch
- Use
- Sanity checks
-
git diff development branch
should not contain any differences -
make clean; make
to ensure library and executable both build - on
development
,git log --first-parent
should show the merge commit message followed by the previous head ofdevelopment
-
- delete
branch
(locally) - If necessary, make a new development tag (
marbl[X].[Y].[Z]
)- Note that not every PR will be tagged - the hope is that
git log --first-parent
can be used to give a reasonable approximation of a ChangeLog to help determine what changed between tags and specific commit IDs can be used to check out desired versions.
- Note that not every PR will be tagged - the hope is that
- Push
development
(andmarbl[X].[Y].[Z]
, if applicable) back to marbl-ecosys/MARBL - Close any tickets addressed by new tag
- Update Release Notes for the new tag
Notes:
- PRs that fail the Travis-CI testing will not be accepted
- If the PR updated the documentation (changes to files in
docs/
), then the github.io repo needs to be updated as well- Run
make clean html
fromdocs/src/
in the main MARBL repo - Delete
versions/latest/*
from the MARBL github.io repo - Copy
docs/html/*
from main MARBL repo intoversions/latest/
of the github.io repo - Make sure you
git rm
any files that have been removed from the documentation, then updatemaster
of the github.io repo
- Run
- When the code is ready to be released, merge
development
ontostable
(usinggit merge --ff-only
) and tag appropriately- Copy
docs/html/*
(including all subdirectories)
- Copy
Key tags:
-
marbl0.26.2: consistently use
git merge --no-ff
to bring branches ontomaster
-
marbl0.28.6: consistenyly overwrite the default merge message from
git merge --no-ff