You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contributing.md
+9-39Lines changed: 9 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ If you run into any problems feel free to create an issue. PRs are much apprecia
7
7
8
8
Join the conversation on [the Graph Discord](https://thegraph.com/discord).
9
9
10
-
Please follow the [Code of Conduct](https://github.com/graphops/graphcast-sdk/blob/main/CODE_OF_CONDUCT.md) for all the communications and at events. Thank you!
10
+
Please follow the [Code of Conduct](https://github.com/graphops/graphcast-sdk/blob/dev/code_of_conduct.md) for all the communications and at events. Thank you!
11
11
12
12
## Commit messages and pull requests
13
13
@@ -57,52 +57,22 @@ in small logical steps, in one sitting without ever having to touch up
57
57
something you did earlier in the pull request. (In reality, that means
58
58
you'll use `git rebase -i` a lot).
59
59
60
-
Please do not merge main into your branch as you develop your pull
61
-
request; instead, rebase your branch on top of the latest main if your
60
+
Please do not merge dev into your branch as you develop your pull
61
+
request; instead, rebase your branch on top of the latest dev if your
62
62
pull request branch is long-lived.
63
63
64
-
We try to keep the hostory of the `main` and `dev` branch linear, and avoid merge
65
-
commits. Once your pull request is approved, merge it following these
66
-
steps:
67
-
```
68
-
git checkout dev
69
-
git pull dev
70
-
git rebase dev my/branch
71
-
git push --force-with-lease
72
-
git checkout dev
73
-
git merge my/branch
74
-
git push
75
-
```
76
-
77
-
Allegedly, clicking on the `Rebase and merge` button in the Github UI has
78
-
the same effect.
64
+
We try to keep the hostory of the `dev` branch linear, and avoid merge
65
+
commits. Once your pull request is approved merge it using the `Rebase and merge` button in the Github UI.
79
66
80
67
## Release process
81
68
82
69
TL;DR
83
70
84
71
```
85
-
1. Make sure both `dev` and `main` are up-to their respective head
86
-
2. Checkout a release branch from `dev` branch
87
-
1. update version in Cargo.toml
88
-
2. run `scripts/release.sh`
89
-
3. After script finishes, push the branch. Squash the commit if there were multiple attempts and commits.
90
-
3. Open release PR, set merge target to `dev`. Do not delete the release branch. Rebase and merge. Make sure all tests pass.
91
-
4. Repeat step 3 for `main`, delete release branch afterwards.
92
-
5. Create Github release with target set to `main`. Generate release notes.
72
+
1. Make a new branch from `dev` with a release commit, updating `Cargo.toml` version attribute and `CHANGELOG.md`.
73
+
2. Open release PR, set merge target to `dev`. Do not delete the release branch. Rebase and merge. Make sure all tests pass.
74
+
3. Tag the release in `dev`: `git tag <version>` and push the tag: `git push tag <version>`
75
+
4. Run `./scripts/docker-cargo-publish.sh` to publish the new release to `crates.io`
93
76
```
94
77
95
-
We would like to keep `main` branch for official releases while using `dev` branch as the default upstream branch for features. Therefore ongoing development, feature work, and bug fixes will takes place on the dev branch, and only merge release tag commits to the `main` branch.
96
-
97
78
To start working on a new feature or bug fix, contributors should create a new branch off of the dev branch. Once the feature or bug fix is complete, a pull request should be created to merge the changes into the dev branch. All changes to the dev branch should be reviewed by at least one other person before merging.
98
-
99
-
When it's time to create a new release, we will merge the changes from the dev branch into the `main` branch using a pull request with new version tag (ex. `v0.1.0`). This pull request should be reviewed by at least one project owner before merging. Once the changes are merged into `main`, we will create a new tag for the release and use this tag to generate release notes and create a release in GitHub. To release a new version in crates.io, we update the version in Cargo.toml, utilize the tool [orhun/git-cliff](https://github.com/orhun/git-cliff) to maintain the changelog markdown by simply running the script under `scripts/release.sh` with the new version tag.
100
-
101
-
```
102
-
git tag -a vX.X.X -m "vX.X.X"
103
-
git push --follow-tags
104
-
```
105
-
106
-
It's important to note that all changes to the `main` branch should go through pull requests and be reviewed by at least one project admin. This helps ensure that the `main` branch only contains clean releases and that any issues or bugs are caught before they are released to our users.
107
-
108
-
By following this release process, we can keep our repository organized, ensure that our releases are clean and stable, and make it easier for contributors to work on new features and bug fixes.
0 commit comments