playsrg-apple icon indicating copy to clipboard operation
playsrg-apple copied to clipboard

PLAYNEXT-500 Switch to feature branch workflow

Open pyby opened this issue 5 months ago • 0 comments

Description

As a developer I want to have some simplify dev and release workflows so that I can easily contribute to the product and exchange with other contributors.

  • Stop using git flow and switch to feature branch workflow: https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
  • The fastlane lanes workflows are updated (linked to main branch).
  • Documentation to contribute is update (How to create a branch, how to create a PR, setup linter, release checklist).
  • [After PS is merged] On Github, develop GitHub branch will be renamed to main. master branch will be removed.

Changes Made

  • Documentations:
    • Add docs/WORKFLOWS.md to explain workflows. 💫 Using mermaid graphs (see it here).
    • Update docs/RELEASE_CHECKLIST.md to a markdown checklist.
  • Developments:
    • Update hooks/commit-msg to support non "feature" branch names.
    • Add .github/CODEOWNERS.
  • Fastlane lanes updates:
    • Refactor to feature branch workflow with a main branch.
    • Remove all git flow code.
    • Reduce number of lanes "distribute private" and "distribute public" lanes.
    • public_beta_distribution for AppStore builds is true by default. And it distributes to both private and public groups.
    • Flows updates:
      • The "private betas" workflow only bump build number, as before.
      • The branch beta cherrypick flow is improved to check last 3 commits and get "what's new" and bump build number commits and the branch.
      • The "After AppStore validation" workflow replaces "After AppStore validation git flow" workflow. It checks App Store live version status and bump version number if needed. Plan to be run by the CI.
      • Nighties workflow can be run from CI PR branches. Git branch name is found: as before, used for build name and Github deployment.

Checklist

  • [x] Some local tests with fastlane workflows as been done. We'll try also after the merge and when main will be renamed.
  • [ ] ℹ️ Some steps need to be done after the PR merge. Please check https://srgssr-ch.atlassian.net/browse/PLAYNEXT-500
  • [x] I have followed the project's style guidelines.
  • [x] I have performed a self-review of my own changes.
  • [x] I have made corresponding changes to the documentation.
  • [x] My changes do not generate new warnings.
  • [x] I have tested my changes and I am confident that it works as expected and doesn't introduce any known regressions.
  • [x] I have reviewed the contribution guidelines.

pyby avatar Sep 07 '24 14:09 pyby