parse-dashboard icon indicating copy to clipboard operation
parse-dashboard copied to clipboard

♻️ Release Automation

Open mtrezza opened this issue 4 years ago • 1 comments

New Feature / Enhancement Checklist

Current Limitation

see https://github.com/parse-community/parse-server/issues/7271

Feature / Enhancement Description

This PR adds release automation to Parse Dashboard.

Roadmap

Phase 1 (add release automation):

  • [x] Add release automation for master branch
  • [x] Only allow "squash & merge" for all branches
  • [x] Add docker release job for automated release
  • [x] Add docker release job for manual release
  • [x] Remove changelog CI check from code and repo settings
  • [x] Remove changelog TODO from PR template
  • [x] Adapt GH issue labels

Phase 2 (change branch model):

  • [x] Rename default branch to alpha
  • [x] Add release, beta branches
  • [x] Adapt release automation to new branch model
  • [x] Adapt docker release jobs to get triggered on alpha / beta commits
  • [x] Inform contributors that PRs needs to be opened against alpha branch
    • [x] Add pinned issue
    • [x] Add to Parse GitHub assistant --> only allows PRs against default branch
    • [x] Add to contribution docs
  • [x] Adapt synk to watch alpha and release branches (not beta branch) only for security fix PR, not for regular dependency upgrade PRs

Phase 3 (monitor workflows):

  • [x] Execute one full alpha -> beta -> release merge workflow (contribution) to ensure it works
  • [x] Execute one full release -> alpha -> beta merge workflow (hotfix) to ensure it works
  • [ ] Find and document a working mode for PRs opened by Snyk on alpha and release branches
  • [x] Monitor contributor feedback
  • [x] Monitor merge workflows

Phase 4 (long-term support):

  • [ ] Add LTS branch release-N where N is the major version based on release branch
  • [ ] Add LTS branch to snyk to monitor

Release Flow

alpha

  • release time: spontaneous
  • merge:
    • contributor pull request into alpha

beta

  • release time: monthly; this gives the beta release 1 month to mature
  • merge:
    • alpha into beta once at the beginning of a month
    • alpha into beta only fixes during the month (feature freeze)

release

  • release time: monthly; gives the beta release 1 month to mature
  • merge:
    • beta into release once at the beginning of a month
    • urgent security hotfixes into release during a month (have to be back-ported to alpha) A

mtrezza avatar Sep 23 '21 12:09 mtrezza

Thanks for opening this issue!

  • ❌ Please edit your post and use the provided template when creating a new issue. This helps everyone to understand your post better and asks for essential information to quicker review the issue.

Auto-release is implemented and being used for some time, so closing.

mtrezza avatar Mar 12 '23 11:03 mtrezza