ithaka / pharos

JSTOR's design system
https://pharos.jstor.org
MIT License
112 stars 15 forks source link

Improve release automation process #668

Open daneah opened 5 months ago

daneah commented 5 months ago

The problem

The release process currently roughly includes:

  1. Merge develop to main
  2. Wait for Actions to open a versioning pull request
  3. Merge the pull request
  4. Wait for versions to be released
  5. Merge main back to develop

These steps are fairly manual, and step (4) currently attempts to do step (5) at the end but fails, leading to false positives for maintainers that the release process has actually failed. Step (5) is also forgotten with some regularity, despite being documented, because it comes after everything feels like it's "over with."

The solution

Additional information

The automated attempt at (5) contained in (4) may fail both because of branch protection rules and because of the Actions security model. We should take extra care to ensure that any automation we do will not allow changes from untrusted sources to be released or merged.

iandesj commented 5 months ago

Constellate projects use a similar process. I'd be interested in following this issue to see what ya'll come up with for automation.