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
-[Verify Signed Status of Commits](#verify-signed-status-of-commits)
19
+
-[Final Checklist](#final-checklist)
10
20
11
-
***DCO (`Signed-off-by`)** ensures you agree to the developer certificate of origin.
12
-
***GPG Signature** proves the commit was authored by a trusted and verified identity.
21
+
---
22
+
23
+
## Achieving Verified Commits (The Requirements)
24
+
25
+
Achieving a **"Verified"** status on GitHub is a **MANDATORY** requirement for all Pull Requests to be merged into the Python SDK. PRs without this badge will be blocked by CI checks.
|**DCO Sign-off**|`-s`| Confirms legal right to contribute code (Required by the CI bot). | DCO Check |[CONTRIBUTING.md](/CONTRIBUTING.md)|
30
+
|**GPG Signature**|`-S`| Proves you are the author of the commit (Requires GPG setup). | Verified Badge |[GitHub's GPG Docs](https://docs.github.com/en/authentication/managing-commit-signature-verification)|
31
+
32
+
**CRITICAL WARNING:** To pass all checks and achieve the "Verified" status, **all commits** must be signed using **both** the `-S` and `-s` flags together.
If you accidentally forgot to sign commits, there are **two ways to fix them**:
85
103
@@ -91,8 +109,8 @@ Soft revert the impacted commits while keeping changes locally:
91
109
git reset --soft HEAD~n
92
110
```
93
111
94
-
*`HEADn` = number of commits to go back
95
-
* Example: To fix the last 3 commits: `git reset --soft HEAD`
112
+
*`HEAD~n` = number of commits to go back
113
+
* Example: To fix the last 3 commits: `git reset --soft HEAD~3`
96
114
97
115
Then, recommit each commit with proper signing:
98
116
@@ -110,25 +128,25 @@ Alternatively, you can **amend commits retroactively**:
110
128
111
129
```bash
112
130
git commit --amend -S -s
113
-
git rebase -i HEAD~n # For multiple commits
131
+
git rebase -i HEAD~n # For multiple commits
114
132
git push --force-with-lease
115
133
```
134
+
116
135
## Rebasing and Signing
117
136
118
137
Rebase operations will be required when your branch is behind the upstream main. See [rebasing.md](./rebasing.md) for instructions on how to keep your main branch up to date and how to rebase.
119
138
120
-
121
139
When rebasing, you must use this command to ensure your commits remain verified:
122
140
123
141
```bash
124
142
git rebase main -S
125
143
```
126
144
127
-
> **Note:**`--force-with-lease` safely updates the remote branch without overwriting others’ changes.
145
+
> **Note:**`git push --force-with-lease` safely updates the remote branch without overwriting others' changes.
0 commit comments