====== Docs GitHub Workflow ====== When someone [[evergreen-docs:how-to-contribute-documentation#intermediate_workflow|submits a change via GitHub]], an Evergreen developer should follow these steps to review it: ===== Reviewing the pull request ===== - [[https://github.com/login|Log in to Github]] - 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, run ''%%git 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 to ''fixup'' 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 "%%'') - 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.