Skip to content

fix yaml syntax

fix yaml syntax #2

Workflow file for this run

name: DCO Advisor Bot
on:
pull_request:
types: [opened, reopened, synchronize]
check_run:
types: [completed]
permissions:
pull-requests: write
issues: write
jobs:
dco_advisor:
runs-on: ubuntu-latest
steps:
- name: Handle DCO check result
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const pr = context.payload.pull_request || context.payload.check_run.pull_requests?.[0];
if (!pr) return;
const prNumber = pr.number;
const headSha = pr.head ? pr.head.sha : context.payload.check_run.head_sha;
const { data: checks } = await github.rest.checks.listForRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: headSha
});
const dcoCheck = checks.check_runs.find(run => run.name.toLowerCase().includes("dco"));
if (!dcoCheck) return;
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber
});
const botUsername = (await github.rest.users.getAuthenticated()).data.login;
const existingComment = comments.find(c =>
c.user.login === botUsername &&
c.body.includes("<!-- dco-advice-bot -->")
);
const failureBody = `<!-- dco-advice-bot -->
❌ **DCO Check Failed**

Check failure on line 51 in .github/workflows/dco-advisor.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/dco-advisor.yml

Invalid workflow file

You have an error in your yaml syntax on line 51
Hi @${pr.user.login}, your pull request has failed the Developer Certificate of Origin (DCO) check.
Because this repository supports **remediation commits**, you can fix this without rewriting history!
---
### 🛠 Quick Fix: Add a remediation commit
\`\`\`bash
git commit --allow-empty -s -m "chore: DCO remediation for failing commits"
git push
\`\`\`
This adds an empty signed commit to declare you agree with your previous commits.
---
<details>
<summary>🔧 Advanced: Sign off each commit</summary>
If you prefer to re-sign your existing commits:
**For the latest commit:**
\`\`\`bash
git commit --amend --signoff
git push --force
\`\`\`
**For multiple commits:**
\`\`\`bash
git rebase --signoff origin/${pr.base.ref}
git push --force-with-lease
\`\`\`
</details>
---
More info: [DCO Fix Guide](https://github.com/probot/dco#how-it-works)
`;
const successBody = `<!-- dco-advice-bot -->
✅ **DCO Check Passed**
Thanks @${pr.user.login}, all your commits are properly signed off. 🎉
`;
const newBody = dcoCheck.conclusion === "failure" ? failureBody : successBody;
if (existingComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: existingComment.id,
body: newBody
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: newBody
});
}