evergreen-docs:github-workflow
Table of Contents
Docs GitHub Workflow
When someone submits a change via GitHub, an Evergreen developer should follow these steps to review it:
Reviewing the pull request
- Open the pull request in the Github web interface.
- Open the Files Changed tab
- Make sure the asciidoc changes look good
- Open the Checks tab
- Expand the "Generate Docs Package" step. Glance for any unexpected warnings or errors.
- Open the Artifacts menu and select built-docs
- Unzip the artifact and open it in your browser.
- Check to make sure that the expected changes look good in the built docs, and that there are no unexpected changes.
Committing the changes
If everything looks good:
- On the commits tab, note how many new commits are in the pull request – you will need this information later.
- In your terminal, if you haven't yet, add the main Evergreen repo (on GitHub) as a remote (make sure you're in the directory you're working on before running command)
git remote add github-evergreen https://github.com/evergreen-library-system/Evergreen.git
- Update your local main branch to reflect any changes from "origin"
git checkout main && git fetch origin && git pull origin main
- Fetch the pull request branch into a new local branch
git fetch github-evergreen pull/[PULL_REQ_NUMBER]/head:[BRANCHNAME]
- Cherry pick the relevant commits into your local copy of the main branch.
- If only one commit:
git cherry-pick -s [BRANCHNAME]
- If more than one:
git cherry-pick -s [BRANCHNAME]~[Number of commits]..[BRANCHNAME] --edit
(for example, if you are bringing in two commits from the survey-docs branch, rungit cherry-pick survey-docs~2..survey-docs) --edit
- The
--edit
flag will permit you to edit all commit messages as they come in.
- If you need to squash commits:
- From your local branch, enter
git rebase -i HEAD~2
(where 2 is the number of commits you wish to combine) - Your text editor will open and should show both of the commits, for example:
pick [COMMIT HASH 1] [COMMIT MESSAGE 1]
pick [COMMIT HASH 2] [COMMIT MESSAGE 2]
- Change the word
pick
in the second line tofixup
then save and close the file. This merges the commits and retains the first line's commit message. - Check gitlog to ensure that you now have a single commit
- Make any corrections (via additional commits, if needed)
- Use
git log
to make sure everything looks good.- Make sure that the commit message begins with "Docs:"
- Make sure the commit message includes the relevant Launchpad bug number
- Example: "Resolves LP#1234567"
- (If the GitHub author does not match the author's identity in git.evergreen-ils.org, consider fixing it with
git commit --amend --author="NAME <email>"
)
- When you are confident your local main branch is ready:
git push origin main
- Backport to previous EG versions as appropriate
git checkout rel_3_8
(where rel_3_8 is the branch for previous version)git pull
(to get the most up-to-date version of the branch)- If one commit:
git cherry-pick main
- If more than one:
git cherry-pick main~[Number of commits]..main
git push
- Go back to the pull request on Github's site. Comment on the pull request to thank the contributor, then close the pull request.
evergreen-docs/github-workflow.txt · Last modified: 2024/07/10 08:03 by sandbergja