thunderbird / thunderbird/thunderbird-android

Add merge automation workflow

Open
#10,453 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: developer experience type: github actions
Dominant language
Kotlin
Stars
14k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
57

Description

We currently have a merge script at scripts/ci/merges/do_merge.py. It should be getting to a point where it doesn't need to be run manually. We need to add some more merge driver support first. Once we're at that point, let's create a github workflow that can be manually triggered to run the merge.

Additional things the merge workflow should do (mostly taken from docs/release/RELEASE.md merge steps):

main->beta

  1. Send a message to the #tb-mobile-dev:mozilla.org matrix channel to let them know the merge is starting
  2. Run merge
  3. Open a new milestone for the new version and close the oldest milestone (there should always be 3 open milestones - automation that adds tasks to milestones depends on this) - this needs to be done before version bump in main
  4. Submit a pull request with the merge results. We still need a human to look at the results.
  5. Submit a pull request that increments the version in main

beta->release

  • Same as above but no changes to milestones and no pull request to increment version

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with scripts/ci/merges/do_merge.py and the merge steps in docs/release/RELEASE.md, then inspect the existing GitHub workflow conventions. The workflow should be manually triggerable, support main-to-beta and beta-to-release merges, notify the Matrix channel, handle the specified milestone changes, and open the required pull requests for human review.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
ci-cd, devops, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.