Introduce Gitea Actions workflow to automatically move TODO files from queued to completed on PR events for feature branches. Update README with setup instructions and benefits.
37 lines
1.4 KiB
YAML
37 lines
1.4 KiB
YAML
name: 'Auto-complete TODO'
|
||
|
||
on:
|
||
pull_request:
|
||
types: [opened, synchronize, reopened]
|
||
|
||
jobs:
|
||
move-todo:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: 'Clone PR branch, move TODO, push update'
|
||
env:
|
||
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
|
||
SERVER_URL: ${{ github.server_url }}
|
||
REPO_OWNER: ${{ github.repository_owner }}
|
||
REPO_NAME: ${{ github.event.pull_request.head.repo.name }}
|
||
PR_BRANCH: ${{ github.head_ref }}
|
||
run: |
|
||
git clone https://${PAT_TOKEN}@${SERVER_URL}/${REPO_OWNER}/${REPO_NAME}.git pr-temp || exit 1
|
||
cd pr-temp
|
||
git checkout ${PR_BRANCH}
|
||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||
TODO_NAME="${BRANCH#feature/}.md"
|
||
if [[ "${BRANCH}" == feature/* && -f todo/queued/${TODO_NAME} ]]; then
|
||
mkdir -p todo/completed
|
||
mv todo/queued/${TODO_NAME} todo/completed/
|
||
git config user.name 'Gitea Actions Bot'
|
||
git config user.email 'actions@noreply.local'
|
||
git add todo/
|
||
git commit -m "chore: auto-complete ${TODO_NAME} via Gitea Actions"
|
||
git push https://${PAT_TOKEN}@${SERVER_URL}/${REPO_OWNER}/${REPO_NAME}.git ${PR_BRANCH}
|
||
echo "✅ Moved todo/queued/${TODO_NAME} → completed/"
|
||
else
|
||
echo "ℹ️ No action: branch='${BRANCH}', expected 'feature/*' with todo/queued/${TODO_NAME}"
|
||
fi
|
||
cd ..
|
||
rm -rf pr-temp |