Skip to content

Commit

Permalink
Add how-to document for applying Pantheon updates
Browse files Browse the repository at this point in the history
** Why are these changes being introduced:

* The process of applying upstream changes made by Pantheon to their
  platform has proven to be somewhat complex through the first three
  rounds of updates. We need a how-to document to help us follow a
  consistent workflow.

** Relevant ticket(s):

* https://mitlibraries.atlassian.net/browse/pw-49

** How does this address that need:

* This writes out the steps I've been following, particularly for the
  last two rounds of updates. This is the starting point for this work,
  as I'm not certain that I've found a reasonably simple workflow.

** Document any side effects to this change:

* None - this is a documentation-only change.
  • Loading branch information
matt-bernhardt committed Jul 12, 2023
1 parent 148acb5 commit dc08e4a
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions docs/howto/apply-pantheon-updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,49 @@

This document will describe the process for keeping our repository up-to-date
with upstream changes introduced by Pantheon.

## Background

Our GitHub repository was created as a fork of Pantheon's [WordPress Composer
Managed](https://github.com/pantheon-systems/wordpress-composer-managed) repository. As Pantheon continues to develop their platform, they
merge changes into their `default` branch - which we need to then incorporate
into our `master` branch.

## Workflow

1. Create a "catchup" branch from `master`, and create a multidev from it.

Doing this now, from a trusted starting point, can make troubleshooting easier.

2. Sync our `default` branch - and only the `default` branch - with the Pantheon
repository. **Do not sync the entire repository**

3. Identify which commits on the `default` branch still need to be merged

Each round of platform updates is marked along the branch with a tag - so this
step should be completed by reading the list of commits until you get to a tag.

4. Review this set of commits to the `default` branch to identify any concerns

Ideally all commits will be judged safe to apply. If a subset are desired, pick
that point along the `default` branch.

5. Create a "default#" branch off of the chosen starting point

The number used in this branch name will naturally change over time, obviously.

6. Merge "default#" into "catchup"

This PR can be merged without review, but may require resolving a merge
conflict in cases where Pantheon makes changes to a file we have also modified.

7. Re-deploy "catchup" to Pantheon, and inspect it for functionality

8. After any needed signoffs and review, merge "catchup" into `master`

9. Create a tag on the `default` branch marking what was included in this round
of updates, to make the next round of updates easier to start.

The name for this tag should match the `default#` branch you created in step 5.

10. Delete the catchup and default# branches you created during this process.

0 comments on commit dc08e4a

Please sign in to comment.