Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
name: Mark Issues for Review
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'DONE_ISSUES.md'
|
|
|
|
concurrency:
|
|
group: repo-file-writes
|
|
cancel-in-progress: false
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
|
|
jobs:
|
|
mark-review:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Mark issues as ready for review
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const fs = require('fs');
|
|
const content = fs.readFileSync('DONE_ISSUES.md', 'utf8');
|
|
const issueNumbers = [...content.matchAll(/#(\d+)/g)].map(m => parseInt(m[1]));
|
|
|
|
if (issueNumbers.length === 0) {
|
|
console.log('No issue numbers found in DONE_ISSUES.md');
|
|
return;
|
|
}
|
|
|
|
for (const num of issueNumbers) {
|
|
try {
|
|
const issue = await github.rest.issues.get({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: num,
|
|
});
|
|
|
|
if (issue.data.state === 'open') {
|
|
// Add review label
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: num,
|
|
labels: ['ready-for-review'],
|
|
});
|
|
|
|
// Add a comment
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: num,
|
|
body: '✅ Implementation complete and deployed. Ready for your review.\n\nClose this issue when you\'re satisfied with the result.',
|
|
});
|
|
|
|
console.log(`Marked #${num} as ready-for-review`);
|
|
} else {
|
|
console.log(`Issue #${num} already closed.`);
|
|
}
|
|
} catch (e) {
|
|
console.log(`Error processing #${num}: ${e.message}`);
|
|
}
|
|
}
|
|
|
|
// Clear the file after processing
|
|
fs.writeFileSync('DONE_ISSUES.md', '# Done Issues\n\n_Empty — no issues to process._\n');
|
|
|
|
- name: Commit cleared file
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add DONE_ISSUES.md
|
|
git diff --cached --quiet && exit 0
|
|
git commit -m "chore: clear DONE_ISSUES.md after processing [skip ci]"
|
|
git pull --rebase origin main || true
|
|
git push
|