fix(workflows): restore complete repository drift checks - #187
Conversation
@coderabbitai review |
|
✅ Action performedReview finished.
|
|
Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details
|
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (2 skipped: 2 … | Write docstrings for the functions missing them to satisfy the coverage threshold. |
✅ Passed checks (4 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title clearly identifies the main change: restoring complete repository drift checks in the workflow. |
| Description check | ✅ Passed | The description directly explains the repository drift check failure, the GraphQL fallback, repository validation, incomplete-read handling, daily schedule, and linked issue #144. |
| Linked Issues check | ✅ Passed | The changes satisfy issue #144. They restore the daily schedule, complete omitted REST settings through GraphQL, verify repository identity and visibility, preserve existing REST values, reject incomp… |
| Out of Scope Changes check | ✅ Passed | The workflow, maintenance documentation, implementation, and tests all support the linked issue objectives. No unrelated code changes are identified. |
Full details: Docstring Coverage
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
- Create stacked PR
- Commit on current branch
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
Resolved the ancillary notes in the previous review at
body_findings=0-resolved@836da65 @coderabbitai review |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '=== changed files ==='
git diff --name-status HEAD~1..HEAD
echo '=== current commit ==='
git rev-parse HEAD
echo '=== diff ==='
git diff --no-ext-diff --unified=80 HEAD~1..HEAD -- \
.github/workflows/repository-drift-check.yaml \
AGENTS.md \
scripts/check-repository-drift.sh \
tests/repository-drift.sh
echo '=== script outline ==='
ast-grep outline scripts/check-repository-drift.sh --items all || true
echo '=== relevant script symbols ==='
rg -n -A120 -B15 \
'^(complete_repository_settings|main|compare_repository_settings)\s*\(\)|gh api graphql|declared|node_id|nameWithOwner|isPrivate' \
scripts/check-repository-drift.sh
echo '=== test assertions around GraphQL and fixture behavior ==='
rg -n -A30 -B10 \
'graphql|live_dir|incomplete|missing|partial|node_id|nameWithOwner|isPrivate' \
tests/repository-drift.shLength of output: 34495 🏁 Script executed: #!/bin/bash
set -euo pipefail
base="$(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD origin/master 2>/dev/null || true)"
echo "=== merge base ==="
printf '%s\n' "$base"
if [[ -n "$base" ]]; then
echo '=== complete PR diff ==='
git diff --no-ext-diff --unified=100 "$base..HEAD" -- \
.github/workflows/repository-drift-check.yaml \
AGENTS.md \
scripts/check-repository-drift.sh \
tests/repository-drift.sh
fi
echo '=== workflow ==='
cat -n .github/workflows/repository-drift-check.yaml
echo '=== test setup and script remainder ==='
sed -n '1,230p' tests/repository-drift.sh
sed -n '359,430p' tests/repository-drift.sh
echo '=== PR metadata ==='
gh pr view 187 --repo devantler-tech/.github \
--json baseRefName,headRefName,commits,files \
--jq '{baseRefName, headRefName, commits: [.commits[].oid], files: [.files[].path]}'Length of output: 58788
The GraphQL fallback preserves present REST values, validates both API identities and visibility, and fails closed for incomplete responses. The tests cover the relevant fallback, malformed-response, drift, and redaction paths. I found no new actionable issues.
|
The current-head CodeRabbit request returned an explicit review rate-limit refusal, so its accompanying prose does not clear the review gate. The prior ancillary notes are resolved in the preceding request; all current-head PR checks pass. @codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Behaviour evaluated at The original main workflow aborted on an omitted REST setting after token creation succeeded. With the repaired reader, the actual metadata-only App run completed the whole comparison and returned exactly the two existing World at Ruin discrepancies tracked in #141. It reached the terminal drift summary with exit 1, rather than stopping with an incomplete-read exit 2; token creation and revocation both completed successfully. The final commit only clarifies an empty test variable. Its executable reader and workflow blobs are identical to that exercised run. Current-head required CI passes, and the synthetic merge tree matches the locally computed merge against actual main As the operator of this check, the result is now actionable: every declared setting is compared, missing or mismatched API data remains an error, and private repository values remain withheld. The daily trigger is defined for 05:17 UTC; its first scheduled execution can only be observed after this change lands. The genuine repository-setting drift remains separate declarative work under #141. |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Why
The repository drift check still stopped before comparing settings after its permission problem was resolved. This left declared repository settings without a working daily check.
What
Read omitted settings through GitHub’s second read-only API, verify both responses describe the same repository, and keep incomplete results from passing. Restore the daily check while preserving private-repository redaction and every declared setting.
Fixes #144