Skip to content

Commit 769607a

Browse files
committed
docs: Create a troubleshooting guide for CI checks (#12979)
Signed-off-by: Umarov Ismoiljon <hs.umarov21@gmail.com>
1 parent f2a664a commit 769607a

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Troubleshooting Pull Request Checks
2+
3+
This guide helps contributors understand and fix common automated checks that fail on Pull Requests (PRs). When a check fails, a red '❌' will appear next to it. You must click the **"Details"** link next to any failed check to see the full error log.
4+
5+
---
6+
7+
### 1. DCO (Developer Certificate of Origin)
8+
This is a legal requirement. Your PR cannot be merged without it.
9+
10+
* **What it is:** A check that verifies you have legally "signed off" on your commits.
11+
* **Why it Fails:** The error log will mention a missing `Signed-off-by` line. This happens when you forget to use the `-s` flag in your commit command.
12+
* **How to Fix It:** To fix your most recent commit, run `git commit --amend --signoff`. Then, you must update your PR by running `git push --force-with-lease`.
13+
14+
---
15+
16+
### 2. Changelog Verifier
17+
This is a very common failure for new contributors.
18+
19+
* **What it is:** This check makes sure you have included a note about your change in the main `CHANGELOG.md` file.
20+
* **Workflow File:** `.github/workflows/changelog-verifier.yml`
21+
* **Why it Fails:** The error message is usually `Error: No update to CHANGELOG.md found!`.
22+
* **How to Fix It:**
23+
1. Open the `CHANGELOG.md` file at the root of the project.
24+
2. Find the `## [Unreleased]` section at the top.
25+
3. Under the correct category (e.g., `### Fixed`, `### Added`), add a new line describing your change. For example: ` - Created a troubleshooting guide for CI checks. See #12979.`
26+
27+
---
28+
29+
### 3. Gradle Check
30+
This is the largest and most complex check. Be patient when this one fails.
31+
32+
* **What it is:** It builds the entire OpenSearch project and runs thousands of automated tests.
33+
* **Workflow File:** `.github/workflows/gradle-check.yml`
34+
* **Why it Fails:** The error is usually a generic `Process completed with exit code 1`. This can be caused by a bug in your code, a broken test, or a "flaky test" in the system that fails randomly.
35+
* **How to Fix It:** Click the **"Details"** link to open the full log. Scroll to the bottom of the log to find the specific Java test that failed or the error that caused the crash. The fix depends entirely on that specific error message. If you believe the failure is unrelated to your changes, you can try closing and reopening your PR to re-run the checks.
36+
37+
---
38+
39+
### 4. Backport
40+
You may see this check fail if your change is marked for older versions.
41+
42+
* **What it is:** An automated process that tries to copy your change to older release branches of the project.
43+
* **Workflow File:** `.github/workflows/backport.yml`
44+
* **Why it Fails:** It often fails if your code has conflicts with the older codebase.
45+
* **How to Fix It:** Usually, a project maintainer will handle backport failures. If this check fails on your PR, you can often leave a comment asking for help, but it's best to ensure your primary PR for the `main` branch is passing all other checks first.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1414
- Use S3CrtClient for higher throughput while uploading files to S3 ([#18800](https://github.com/opensearch-project/OpenSearch/pull/18800))
1515
- Add a dynamic setting to change skip_cache_factor and min_frequency for querycache ([#18351](https://github.com/opensearch-project/OpenSearch/issues/18351))
1616
- Add overload constructor for Translog to accept Channel Factory as a parameter ([#18918](https://github.com/opensearch-project/OpenSearch/pull/18918))
17+
- Add a troubleshooting guide for CI/CD checks to help new contributors ([#12979](https://github.com/opensearch-project/OpenSearch/issues/12979))
1718

1819
### Changed
1920
- Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl ([#18998](https://github.com/opensearch-project/OpenSearch/pull/18998))

0 commit comments

Comments
 (0)