Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughInlines three previously reusable GitHub Actions workflows into explicit job definitions and adds two new Bash utilities: one to generate changelogs from git commit ranges and one to fetch and update WoW .toc interface versions from Blizzard’s CDN. Changes
Sequence Diagram(s)mermaid mermaid Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
There was a problem hiding this comment.
Pull request overview
This PR removes the repo’s dependency on DragonAddons/wow-workflows by inlining the release/release-PR/TOC-update workflows and vendoring the helper scripts into scripts/.
Changes:
- Added local helper scripts for changelog generation and TOC Interface version updates.
- Replaced reusable workflow calls with fully inlined GitHub Actions workflows for release, release PRs, and scheduled TOC updates.
- Updated workflow permissions and wiring to use the local scripts and preserve master-based behavior.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/update_toc_versions.sh |
New script to fetch Blizzard CDN versions and update ## Interface* directives in .toc files. |
scripts/generate_changelog.sh |
New script to generate a release changelog from git history for the packager pipeline. |
.github/workflows/toc-update.yml |
Inlines the scheduled TOC update workflow and opens/updates an automated PR with the changes. |
.github/workflows/release.yml |
Inlines the packaging/upload workflow and integrates changelog generation. |
.github/workflows/release-pr.yml |
Inlines the release-please workflow configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
scripts/update_toc_versions.sh (1)
88-99: Consider adding-type fto restrict matches to files.While unlikely in practice, the current
findcommand could match directories named*.toc.♻️ Suggested improvement
find_toc_files() { local exclude_dirs=("$@") local find_args=() - find_args+=("." "-name" "*.toc") + find_args+=("." "-type" "f" "-name" "*.toc") for dir in "${exclude_dirs[@]}"; do find_args+=("-not" "-path" "*/${dir}/*") done find "${find_args[@]}" }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@scripts/update_toc_versions.sh` around lines 88 - 99, In the find_toc_files function the generated find invocation can match directories named *.toc; update the find_args built in find_toc_files to include "-type" "f" (e.g., append "-type" "f" into find_args before invoking find) so only regular files are returned; ensure the "-type" "f" token is added alongside existing tokens in the find_args array used by the find "${find_args[@]}" call.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/toc-update.yml:
- Line 72: The shell check using "rg -q ." in the conditional with the "gh pr
list --head \"$BRANCH\" --state open --json number --jq '.[0].number'" command
is using ripgrep which may not be available on GitHub runners; replace the "rg
-q ." invocation with "grep -q ." so the conditional uses grep for compatibility
(i.e., update the conditional that tests the output of gh pr list for emptiness
to pipe into grep -q . instead of rg -q .).
- Around line 18-21: The workflows are using different checkout action versions;
change the release workflow's checkout step from actions/checkout@v5 to
actions/checkout@v6 so it matches the toc-update workflow; locate the line that
says "uses: actions/checkout@v5" in the release workflow and update the version
tag to `@v6` (and scan other workflow files for any remaining actions/checkout@v5
occurrences and update them as well).
In `@scripts/update_toc_versions.sh`:
- Around line 235-245: Remove the unused HAS_VANILLA_FLAVOR variable and its
assignments: delete the HAS_VANILLA_FLAVOR="false" initialization and the if
block that sets HAS_VANILLA_FLAVOR inside the loop that iterates over
"${flavors[@]}"; keep only the HAS_CLASSIC_FLAVOR initialization and its if
block. Update the flavor loop in the script to only test and set
HAS_CLASSIC_FLAVOR (leave the flavors array and loop structure intact) so there
are no leftover unused variables.
---
Nitpick comments:
In `@scripts/update_toc_versions.sh`:
- Around line 88-99: In the find_toc_files function the generated find
invocation can match directories named *.toc; update the find_args built in
find_toc_files to include "-type" "f" (e.g., append "-type" "f" into find_args
before invoking find) so only regular files are returned; ensure the "-type" "f"
token is added alongside existing tokens in the find_args array used by the find
"${find_args[@]}" call.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 42ee3213-1415-47ca-92e9-af74f3ae688f
📒 Files selected for processing (5)
.github/workflows/release-pr.yml.github/workflows/release.yml.github/workflows/toc-update.ymlscripts/generate_changelog.shscripts/update_toc_versions.sh
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/toc-update.yml:
- Around line 72-73: The jq expression used to set pr_number returns the literal
string "null" when no PR exists, so the test [ -z "$pr_number" ] fails; update
the gh pr list invocation to use the jq filter .[0].number // empty so pr_number
is an empty string when no PR is found (e.g., change the command that sets
pr_number to use --jq '.[0].number // empty'), ensuring the subsequent if [ -z
"$pr_number" ] correctly triggers gh pr create when needed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f52efba8-cf32-4001-968e-93caec036744
📒 Files selected for processing (4)
.github/workflows/release-pr.yml.github/workflows/release.yml.github/workflows/toc-update.ymlRaidLogAuto.toc
| pr_number="$(gh pr list --head "$BRANCH" --state open --json number --jq '.[0].number')" | ||
| if [ -z "$pr_number" ]; then |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
sed -n '72,73p' .github/workflows/toc-update.yml
echo
echo "Current filter output:"
printf '[]\n' | jq -r '.[0].number'
echo "---"
echo "Fixed filter output:"
printf '[]\n' | jq -r '.[0].number // empty'Repository: DragonAddons/RaidLogAuto
Length of output: 259
Fix null-to-string conversion in PR number lookup.
Line 72's jq filter outputs the literal string null (not an empty value) when gh pr list finds no matching PR. The [ -z "$pr_number" ] test on line 73 then evaluates to false, skipping the gh pr create call that should run on the first update.
Use .[0].number // empty to output nothing instead of null:
Proposed fix
- pr_number="$(gh pr list --head "$BRANCH" --state open --json number --jq '.[0].number')"
+ pr_number="$(gh pr list --head "$BRANCH" --state open --json number --jq '.[0].number // empty')"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/toc-update.yml around lines 72 - 73, The jq expression
used to set pr_number returns the literal string "null" when no PR exists, so
the test [ -z "$pr_number" ] fails; update the gh pr list invocation to use the
jq filter .[0].number // empty so pr_number is an empty string when no PR is
found (e.g., change the command that sets pr_number to use --jq '.[0].number //
empty'), ensuring the subsequent if [ -z "$pr_number" ] correctly triggers gh pr
create when needed.
Summary
Summary by CodeRabbit