Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️ Release Automation #1813

Closed
23 of 26 tasks
mtrezza opened this issue Sep 23, 2021 · 2 comments
Closed
23 of 26 tasks

♻️ Release Automation #1813

mtrezza opened this issue Sep 23, 2021 · 2 comments
Labels
type:ci CI related issue

Comments

@mtrezza
Copy link
Member

mtrezza commented Sep 23, 2021

New Feature / Enhancement Checklist

Current Limitation

see parse-community/parse-server#7271

Feature / Enhancement Description

This PR adds release automation to Parse Dashboard.

Roadmap

Phase 1 (add release automation):

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

Phase 2 (change branch model):

  • Rename default branch to alpha
  • Add release, beta branches
  • Adapt release automation to new branch model
  • Adapt docker release jobs to get triggered on alpha / beta commits
  • Inform contributors that PRs needs to be opened against alpha branch
    • Add pinned issue
    • Add to Parse GitHub assistant --> only allows PRs against default branch
    • Add to contribution docs
  • 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):

  • Execute one full alpha -> beta -> release merge workflow (contribution) to ensure it works
  • 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
  • Monitor contributor feedback
  • 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
@parse-github-assistant
Copy link

parse-github-assistant bot commented Sep 23, 2021

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.

@mtrezza mtrezza pinned this issue Sep 23, 2021
@mtrezza mtrezza added type:meta Non-code issue type:ci CI related issue and removed type:meta Non-code issue labels Sep 24, 2021
@mtrezza mtrezza unpinned this issue Jan 12, 2022
@mtrezza
Copy link
Member Author

mtrezza commented Mar 12, 2023

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

@mtrezza mtrezza closed this as completed Mar 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:ci CI related issue
Projects
None yet
Development

No branches or pull requests

1 participant