Skip to content

refactor(taskfiles): Reorganize non-main taskfiles into a single directory. - #200

Merged
LinZhihao-723 merged 4 commits into
y-scope:mainfrom
LinZhihao-723:task-refactoring
Aug 20, 2025
Merged

refactor(taskfiles): Reorganize non-main taskfiles into a single directory.#200
LinZhihao-723 merged 4 commits into
y-scope:mainfrom
LinZhihao-723:task-refactoring

Conversation

@LinZhihao-723

@LinZhihao-723 LinZhihao-723 commented Aug 19, 2025

Copy link
Copy Markdown
Member

Description

As the title suggests. We also drop -task from the taskfile names since they're now located inside the taskfile directory already.

Checklist

  • The PR satisfies the contribution guidelines.
  • This is a breaking change and that has been indicated in the PR title, OR this isn't a
    breaking change.
  • Necessary docs have been updated, OR no docs need to be updated.

Validation performed

  • Ensure all workflows passed (which should ensure the refactoring worked as expected).

Summary by CodeRabbit

  • Refactor
    • Moved task configuration into a dedicated subfolder for clearer project structure; task logic and variables unchanged.
  • Chores
    • Updated internal references to the new configuration locations to preserve existing developer workflows.
  • Documentation
    • Updated README and guides to point to the new configuration paths and added a Task reference link.
  • Behavior
    • Lint now includes tasks by directory rather than an explicit per-file list.

@LinZhihao-723
LinZhihao-723 requested review from a team and sitaowang1998 as code owners August 19, 2025 22:53
@coderabbitai

coderabbitai Bot commented Aug 19, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Updated Taskfile includes to reference files under taskfiles/ (build, deps, lint, test). taskfiles/lint.yaml now includes the taskfiles/ directory instead of an explicit list. README and docs links updated accordingly. No task vars or logic changed.

Changes

Cohort / File(s) Summary of Changes
Top-level Taskfile includes
taskfile.yaml
Remapped includes: buildtaskfiles/build.yaml (was build-tasks.yaml), depstaskfiles/deps.yaml (was dep-tasks.yaml), linttaskfiles/lint.yaml (was lint-tasks.yaml), testtaskfiles/test.yaml (was test-tasks.yaml). docs and utils entries unchanged; no vars/tasks edits.
Lint taskfile include
taskfiles/lint.yaml
Replaced explicit per-file includes with directory-based include: now includes taskfile.yaml and taskfiles/ (removed explicit entries like build-tasks.yaml, dep-tasks.yaml, docs/tasks.yaml, lint-tasks.yaml, test-tasks.yaml).
Documentation updates
README.md, docs/src/user-docs/guides-quick-start.md
Updated references and examples to point to taskfiles/deps.yaml and taskfiles/lint.yaml (replaced prior dep(s)-tasks.yaml and lint-tasks.yaml links); added Taskfile reference link in guide. No functional changes.

Sequence Diagram(s)

No sequence diagram — changes are file/path reorganization and documentation updates only, with no control-flow or runtime behavior changes to illustrate.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • davidlion
  • kirkrodrigues

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 5059a83 and e4f4979.

📒 Files selected for processing (1)
  • docs/src/user-docs/guides-quick-start.md (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/src/user-docs/guides-quick-start.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: non-storage-unit-tests (ubuntu-24.04)
  • GitHub Check: non-storage-unit-tests (ubuntu-22.04)
  • GitHub Check: lint
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

sitaowang1998
sitaowang1998 previously approved these changes Aug 19, 2025
sitaowang1998
sitaowang1998 previously approved these changes Aug 19, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
taskfile.yaml (1)

4-8: Optional consistency clean-up: align include file locations.

Consider moving docs/tasks.yaml into taskfiles/ as well (or conversely keeping all non-main includes in their respective domains) to keep all secondary Taskfiles co-located. This is non-functional and purely for discoverability.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between beba635 and 60c0ae9.

📒 Files selected for processing (1)
  • taskfile.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: non-storage-unit-tests (ubuntu-22.04)
  • GitHub Check: non-storage-unit-tests (ubuntu-24.04)
  • GitHub Check: lint

Comment thread taskfile.yaml
@sitaowang1998
sitaowang1998 self-requested a review August 19, 2025 23:02
sitaowang1998
sitaowang1998 previously approved these changes Aug 19, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 60c0ae9 and 5059a83.

📒 Files selected for processing (2)
  • README.md (1 hunks)
  • taskfiles/lint.yaml (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • README.md

Comment thread taskfiles/lint.yaml
lint-tasks.yaml \
taskfile.yaml \
test-tasks.yaml
taskfiles/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Directory-wide yamllint target looks good; verify there are no lingering “-task.yml” files and that top-level includes align.*

Switching to lint the whole taskfiles/ directory is aligned with the reorg. As a quick consistency check, ensure there are no remaining files using the deprecated “-task” suffix and that the root Taskfile includes reference the new locations.

Run this script from the repo root to verify:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "YAML files under taskfiles/:"
fd -t f -e yaml -e yml '.*' taskfiles | sort

echo
echo "Checking for legacy *-task*.ya?ml files anywhere:"
fd -t f -E .git -E node_modules '(?i).*-tasks?\.ya?ml$' || echo "No legacy *-task*.ya?ml files found."

echo
echo "References to legacy filenames in Taskfiles and docs:"
rg -nP -C2 '(?i)-tasks?\.ya?ml' -g '!**/.git/**' -g '!**/node_modules/**' || echo "No references found."

echo
echo "Root Taskfile references to taskfiles/ entries:"
if [ -f taskfile.yaml ]; then
  rg -nP -C2 '(?i)taskfiles/' taskfile.yaml || echo "No explicit references to taskfiles/ found in taskfile.yaml (may be fine if using directory includes elsewhere)."
else
  echo "taskfile.yaml not found at repo root."
fi

Length of output: 1945


Fix legacy deps-task.yaml references in quick-start guide

Verified no lingering *-task*.ya?ml files under taskfiles/ and root Taskfile includes (taskfiles/build.yaml, taskfiles/deps.yaml, taskfiles/lint.yaml, taskfiles/test.yaml) are correct. However, the user guide still points to the deprecated filename:

• docs/src/user-docs/guides-quick-start.md, line 80:
• Replace link text [deps-task.yaml] with [deps.yaml] (or a direct path to taskfiles/deps.yaml).
• docs/src/user-docs/guides-quick-start.md, line 260:
• Update the link definition from
[deps-task.yaml]: https://github.com/y-scope/spider/blob/main/dep-tasks.yaml
to
[deps.yaml]: https://github.com/y-scope/spider/blob/main/taskfiles/deps.yaml.

🤖 Prompt for AI Agents
In taskfiles/lint.yaml around line 181 (note: the review points to
docs/src/user-docs/guides-quick-start.md lines 80 and 260), update the
quick-start guide to stop referencing the deprecated deps-task.yaml: change the
inline link text at line ~80 from [deps-task.yaml] to [deps.yaml] (or replace it
with the direct path taskfiles/deps.yaml), and change the link definition at
line ~260 from `[deps-task.yaml]:
https://github.com/y-scope/spider/blob/main/dep-tasks.yaml` to `[deps.yaml]:
https://github.com/y-scope/spider/blob/main/taskfiles/deps.yaml` so the guide
points to the correct, current file.

@sitaowang1998
sitaowang1998 self-requested a review August 19, 2025 23:31
@LinZhihao-723
LinZhihao-723 merged commit 605fb29 into y-scope:main Aug 20, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants