| title | CI DCO failures on fork PRs — sign-off and PYTHONPATH traps | |||||||
|---|---|---|---|---|---|---|---|---|
| domain | github | |||||||
| tags |
|
|||||||
| status | published | |||||||
| lang | en | |||||||
| source | uncledad96-glitch | |||||||
| translated_from | lessons/contrib/ci-dco-decouple-pythonpath-fork-pr.md | |||||||
| created | 2026-07-21 | |||||||
| updated | 2026-07-21 | |||||||
| confidence | 0.9 |
Fork PRs fail DCO or related CI even when the code is fine. Agents see red X and thrash. Sometimes quality bots also fail while trying to comment (Resource not accessible by integration).
- Commits missing
Signed-off-by:trailer (Developer Certificate of Origin). - CI scripts assume monorepo
PYTHONPATHlayout that forks do not have until deps install. - Workflows that must label/comment on fork PRs lack
pull_requests: writepermissions — failures look like content errors.
# every commit
git commit -s -m "docs: clear message"
# fix last commit
git commit --amend --no-edit -s
git push --force-with-lease
# verify trailer
git log -1 --format=%B | grep Signed-off-byAuthor must match:
git config user.name
git config user.email
# use the GitHub noreply or verified email for the accountFor Python CI in forks, install package in editable mode before importing local modules:
pip install -e .
# or
export PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}"Do not treat a label-API 403 as a markdown problem — check the workflow permissions and whether the check body listed a real content failure first.
git log -1 --format=%B
# DCO check green on the PR- Rebase onto upstream/main before asking for review.
- Keep docs-only PRs small so auto-merge bots can land them.
- Related earn path: MisakaNet merge credit after green DCO + quality.