Skip to content

Commit

Permalink
Initial version of bridging pallets as git subtree (#2458)
Browse files Browse the repository at this point in the history
* Initial version of bridges pallet as subtree of https://github.com/paritytech/parity-bridges-common
Added `Bridges subtree files` pr review rule

* Squashed 'bridges/' content from commit d30927c

git-subtree-dir: bridges
git-subtree-split: d30927c

* Updated REAMDE.md and BRIDGES.md (inspired by original https://github.com/paritytech/polkadot/blob/d22eb62fe40e55e15eb91d375f48cc540d83a47e/BRIDGES.md)

* Squashed 'bridges/' changes from d30927c..d397094

d397094 Small simplifications (#2050)

git-subtree-dir: bridges
git-subtree-split: d397094

* Squashed 'bridges/' changes from d397094..2180797

2180797 Removed CODEOWNERS (#2051)

git-subtree-dir: bridges
git-subtree-split: 2180797

* Squashed 'bridges/' changes from 2180797..4850aac

4850aac Removed relayer_account: &AccountId from MessageDispatch  (#2080)
8c8adaf Revert "Fix max-size messages at test chains (#2064)" (#2077)
c01a63e Fixed off-by-one when confirming rewards in messages pallet (#2075)
a298be9 Update subxt dependencies (#2072)
c0eef51 Fix max-size messages at test chains (#2064)
3a658e3 Messages relay fixes (#2073)
0022b5a Slash relayers for invalid transactions (#2025)
1981040 Bump enumflags2 from 0.7.5 to 0.7.7
9229b25 [ci] Fix rules for docker build (#2069)
660d791 [ci] Update buildah command and version (#2058)
e4535c0 fix the way latest_confirmed_nonce_at_source is "calculated" (#2067)
dbc2d37 select nothing if we have already selected nonces to submit or have submitted something (#2065)
a7eedd2 [relay-substrate-client] Bump jsonrpsee (#2066)
8875d5a Bump clap from 4.2.2 to 4.2.4
25f9cf5 Another use of RangeInclusiveExt::checked_len() (#2060)
4942c12 submit lane unblock transactions from relay (#2030)
c0325d3 Test deployments fixes (#2057)
fc7b9b7 Use the new matrix server (#2056)
63bcb5c Fixed delivery alert rule (#2052)

git-subtree-dir: bridges
git-subtree-split: 4850aac

* Squashed 'bridges/' changes from 4850aac..66aaf0d

66aaf0d Nits (#2083)

git-subtree-dir: bridges
git-subtree-split: 66aaf0d

* Squashed 'bridges/' changes from 66aaf0d..557ecbc

557ecbc Fix sized messages (Follow-up on #2064) (#2103)
54f587a Add weight of refund extension post_dispatch to the weights of messages pallet (#2089)
5b1626f fix pallet param for nightly benchmarks check (#2099)
ae44c6b Add millau specific messages weights (#2097)
6ad0bd1 Add integrity tests to rialto parachain runtiime (#2096)
6919556 Bump tokio from 1.27.0 to 1.28.0
58795fc Bump clap from 4.2.4 to 4.2.5
01bf310 Bump scale-info from 2.5.0 to 2.6.0
8fe3832 Bump anyhow from 1.0.70 to 1.0.71
8d94e82 deployments: add new BEEFY metrics and alarms (#2090)
e9a4749 Bump wasmtime from 6.0.1 to 6.0.2
9d9936c Bump wasmtime from 6.0.1 to 6.0.2 in /tools/runtime-codegen
5d77cd7 Add more logs to relayer and message pallets (#2082)
75fbb9d Update comment (#2081)
9904d09 Benchmarks for new relayers pallet calls (#2040)

git-subtree-dir: bridges
git-subtree-split: 557ecbc

* fmt

* Squashed 'bridges/' changes from 557ecbc..04b3dda

04b3dda Remove from subtree (#2111)
f8ff15e Add `MessagesPalletInstance` for integrity tests (#2107)
92ccef5 Use generated runtimes for BHR/BHW (#2106)
b33e0a5 Fix comment (#2105)

git-subtree-dir: bridges
git-subtree-split: 04b3dda

* ".git/.scripts/commands/fmt/fmt.sh"

---------

Co-authored-by: parity-processbot <>
  • Loading branch information
bkontur authored May 4, 2023
1 parent ee82e3f commit 9e1afca
Show file tree
Hide file tree
Showing 114 changed files with 26,856 additions and 6 deletions.
10 changes: 9 additions & 1 deletion .github/pr-custom-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,20 @@ rules:
check_type: changed_files
condition:
include: .*
# excluding files from 'Runtime files' and 'CI files' rules
# excluding files from 'Runtime files' and 'CI files' rules and `Bridges subtree files`
exclude: ^parachains/runtimes/assets/(statemine|statemint)/src/[^/]+\.rs$|^parachains/runtimes/bridge-hubs/(bridge-hub-kusama|bridge-hub-polkadot)/src/[^/]+\.rs$|^parachains/runtimes/collectives/collectives-polkadot/src/[^/]+\.rs$|^parachains/common/src/[^/]+\.rs$|^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*
min_approvals: 2
teams:
- core-devs

# if there are any changes in the bridges subtree (in case of backport changes back to bridges repo)
- name: Bridges subtree files
check_type: changed_files
condition: ^bridges/.*
min_approvals: 1
teams:
- bridges-core

- name: CI files
check_type: changed_files
condition:
Expand Down
88 changes: 88 additions & 0 deletions BRIDGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Using Parity Bridges Common dependency (`git subtree`).

In `./bridges` sub-directory you can find a `git subtree` imported version of:
[parity-bridges-common](https://github.com/paritytech/parity-bridges-common/) repository.

(For regular Cumulus contributor 1. is relevant) \
(For Cumulus maintainer 1. and 2. are relevant) \
(For Bridges team 1. and 2. and 3. are relevant)

# 1. How to fix broken Bridges code?

To fix Bridges code simply create a commit in current (`Cumulus`) repo. Best if
the commit is isolated to changes in `./bridges` sub-directory, because it makes
it easier to import that change back to upstream repo.

(Any changes to `bridges` subtree require Bridges team approve and they should manage backport to Bridges repo)


# 2. How to pull latest Bridges code to the `bridges` subtree
(in practice)
```
cd <cumulus-git-repo-dir>
# this will update new git branches from bridges repo
# there could be unresolved conflicts, but dont worry,
# lots of them are caused because of removed unneeded files with patch step,
./scripts/bridges_update_subtree.sh fetch
# so, after fetch and before solving conflicts just run patch,
# this will remove unneeded files and checks if subtree modules compiles
./scripts/bridges_update_subtree.sh patch
# if there are conflicts, this could help,
# this removes locally deleted files at least (move changes to git stash for commit)
./scripts/bridges_update_subtree.sh merge
# (optional) when conflicts resolved, you can check build again - should pass
# also important: this updates global Cargo.lock
./scripts/bridges_update_subtree.sh patch
# add changes to the commit, first command `fetch` starts merge,
# so after all conflicts are solved and patch passes and compiles,
# then we need to finish merge with:
git merge --continue
````

# 3. How to pull latest Bridges code or contribute back?
(in theory)

Note that it's totally fine to ping the **Bridges Team** to do that for you. The point
of adding the code as `git subtree` is to **reduce maintenance cost** for Cumulus/Polkadot
developers.

If you still would like to either update the code to match latest code from the repo
or create an upstream PR read below. The following commands should be run in the
current (`polkadot`) repo.

1. Add Bridges repo as a local remote:
```
$ git remote add -f bridges [email protected]:paritytech/parity-bridges-common.git
```

If you plan to contribute back, consider forking the repository on Github and adding
your personal fork as a remote as well.
```
$ git remote add -f my-bridges [email protected]:tomusdrw/parity-bridges-common.git
```

2. To update Bridges:
```
$ git fetch bridges master
$ git subtree pull --prefix=bridges bridges master --squash
````

We use `--squash` to avoid adding individual commits and rather squashing them
all into one.

3. Clean unneeded files here:
```
./bridges/scripts/verify-pallets-build.sh --ignore-git-state --no-revert
```

4. Contributing back to Bridges (creating upstream PR)
```
$ git subtree push --prefix=bridges my-bridges master
```
This command will push changes to your personal fork of Bridges repo, from where
you can simply create a PR to the main repo.
Loading

0 comments on commit 9e1afca

Please sign in to comment.