Skip to content

Commit

Permalink
mergify and contributing guidelines
Browse files Browse the repository at this point in the history
  • Loading branch information
p0mvn committed Jan 9, 2024
1 parent 6af2d45 commit 69eb3e1
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
defaults:
actions:
backport:
assignees:
- "{{ author }}"

queue_rules:
- name: default
conditions:
- "#approved-reviews-by>=1"

pull_request_rules:
- name: automerge to the base branch with label automerge and branch protection passing
conditions:
- "#approved-reviews-by>=1"
- base=main
- label=A:automerge
actions:
queue:
name: default
method: squash
commit_message_template: |
{{ title }} (#{{ number }})
{{ body }}
- name: backport patches to osmosis-main branch
conditions:
- base=main
- label=A:backport/osmosis-main
actions:
backport:
branches:
- osmosis-main
- name: backport patches to v22.x branch
conditions:
- base=main
- label=A:backport/v22.x
actions:
backport:
branches:
- v22.x
- name: backport patches to v23.x branch
conditions:
- base=main
- label=A:backport/v23.x
actions:
backport:
branches:
- v23.x
22 changes: 22 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Contributing Guidelines

## Branch Management

While in [osmosis](https://github.com/osmosis-labs/osmosis), we develop against a `main` branch and then backport to release branches such as [v21.x](https://github.com/osmosis-labs/osmosis/tree/v21.x).

Each release branch and the main branch might rely on incompatible dependencies.
Therefore, we must maintain parity between SQS and Osmosis branches.

While in `osmosis`, `main` is the default working branch, this is not the case in `sqs`.

Here, we always develop on the currently live major branch (e.g. `v21.x`) by default but keep backporting with [labels](https://github.com/osmosis-labs/sqs/tree/main/.github/mergify.yml) to `main` branch.

Once chain upgrades to the next major, cut a new release branch (e.g. `v22.x` ) from `main` in `sqs`,
make `v22.x` as default and completely drop the old `v21.x` while continuing to backport to `main`.

To sum up,
- `sqs/vx.x` always references `osmosis/v.x.x`
* This is the default repository branch
- `sqs/main` always references `osmosis/main`
* This is the branch we maintain to cut the new major branch once chain release happens

0 comments on commit 69eb3e1

Please sign in to comment.