Skip to content

chore: add lock files and top-level check commands#1

Merged
ameynert merged 8 commits intomainfrom
am_toplevel_checks
Apr 13, 2026
Merged

chore: add lock files and top-level check commands#1
ameynert merged 8 commits intomainfrom
am_toplevel_checks

Conversation

@ameynert
Copy link
Copy Markdown
Collaborator

@ameynert ameynert commented Apr 10, 2026

Summary by CodeRabbit

  • Chores

    • Added automated linting checks for Snakemake workflows to the CI pipeline
    • Enhanced development task automation and configuration
  • Documentation

    • Updated contributor guidelines with current development commands and procedures

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

📝 Walkthrough

Walkthrough

This PR standardizes CI/CD workflows and development documentation to execute tools within the divref subdirectory, introduces a new Snakemake linting workflow via Pixi, and defines toolkit-level check and fix tasks that orchestrate multiple validation steps.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/python_package.yml, .github/workflows/workflow_linting.yml
Updated Python package workflow to run tests in divref subdirectory; added new Snakemake linting workflow that uses Pixi v0.65.0 to execute pixi run lint --check.
Build & Task Configuration
pixi.toml
Added snakefmt dependency to snakemake feature; introduced toolkit check/fix tasks (check-toolkit, fix-and-check-toolkit), lockfile validation (check-lock), composite check/fix tasks (check-all, fix-and-check-all), and Snakemake linting task with 100-char line length.
Development Documentation
CONTRIBUTING.md
Updated all command examples to run within divref subdirectory; replaced standalone poe commands with pixi-based toolkit tasks (pixi run check-toolkit, pixi run fix-and-check-all); added lockfile validation instructions.
Workflow Formatting
workflows/download.smk
Added blank lines around configfile assignment and validation call for improved readability.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰✨ A hop through workflows, so tidy and fine,
Snakefmt polishes each line divine,
Tasks nested with Pixi, checks all aligned,
From divref we run, with purpose in mind!
Documentation refreshed, the path crystal clear—
The toolkit hops forward, another good year! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary changes: adding new lock file validation tasks and top-level check/fix commands via pixi, plus related workflow updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch am_toplevel_checks

Comment @coderabbitai help to get the list of available commands and usage tips.

@ameynert ameynert temporarily deployed to github-actions-snakemake-linting April 10, 2026 17:08 — with GitHub Actions Inactive
@ameynert ameynert marked this pull request as ready for review April 10, 2026 17:11
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

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)
.github/workflows/workflow_linting.yml (1)

3-5: Consider adding pull_request as an additional trigger.

Running this lint workflow on PRs (not only pushes) catches formatting regressions before merge and shortens feedback loops.

Suggested update
 on: 
   push:
+  pull_request:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/workflow_linting.yml around lines 3 - 5, Update the
workflow trigger block so the lint job runs on pull requests as well as pushes:
modify the top-level "on" configuration (currently only "push") to include
"pull_request" (optionally with branch filters if needed) so the workflow
executes for PR events and catches formatting/regression issues before merge.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 49-59: Normalize the heading levels to avoid a jump from "##" to
"######": change the headings "For Running Individual Toolkit Checks" and "For
Running All Toolkit Checks" to an intermediate level that follows the previous
"##" (e.g., "###" or "####") so the document follows incremental heading rules;
update the two heading markers surrounding the command blocks to the chosen
consistent level and run markdownlint/MD001 to confirm the violation is
resolved.

---

Nitpick comments:
In @.github/workflows/workflow_linting.yml:
- Around line 3-5: Update the workflow trigger block so the lint job runs on
pull requests as well as pushes: modify the top-level "on" configuration
(currently only "push") to include "pull_request" (optionally with branch
filters if needed) so the workflow executes for PR events and catches
formatting/regression issues before merge.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 78010b86-c7ea-4a76-9add-79ed0cbb8a92

📥 Commits

Reviewing files that changed from the base of the PR and between 6c46d1e and 08df426.

⛔ Files ignored due to path filters (2)
  • divref/uv.lock is excluded by !**/*.lock
  • pixi.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • .github/workflows/python_package.yml
  • .github/workflows/workflow_linting.yml
  • CONTRIBUTING.md
  • pixi.toml
  • workflows/download.smk

Comment thread CONTRIBUTING.md
Comment on lines +49 to 59
###### For Running Individual Toolkit Checks

```console
uv run poe check-format
uv run poe check-lint
uv run poe check-tests
uv run poe check-typing
uv run --directory divref poe check-format
uv run --directory divref poe check-lint
uv run --directory divref poe check-tests
uv run --directory divref poe check-typing
```

###### For Running All Checks
###### For Running All Toolkit Checks

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix heading level jump to satisfy markdownlint (MD001).

Line 49 (and similarly Line 58) jumps from ## to ######, which violates heading increment rules.

Suggested heading-level normalization
-###### For Running Individual Toolkit Checks
+### For Running Individual Toolkit Checks
...
-###### For Running All Toolkit Checks
+### For Running All Toolkit Checks
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
###### For Running Individual Toolkit Checks
```console
uv run poe check-format
uv run poe check-lint
uv run poe check-tests
uv run poe check-typing
uv run --directory divref poe check-format
uv run --directory divref poe check-lint
uv run --directory divref poe check-tests
uv run --directory divref poe check-typing
```
###### For Running All Checks
###### For Running All Toolkit Checks
### For Running Individual Toolkit Checks
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 49-49: Heading levels should only increment by one level at a time
Expected: h3; Actual: h6

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 49 - 59, Normalize the heading levels to avoid
a jump from "##" to "######": change the headings "For Running Individual
Toolkit Checks" and "For Running All Toolkit Checks" to an intermediate level
that follows the previous "##" (e.g., "###" or "####") so the document follows
incremental heading rules; update the two heading markers surrounding the
command blocks to the chosen consistent level and run markdownlint/MD001 to
confirm the violation is resolved.

@ameynert ameynert merged commit 073bd2b into main Apr 13, 2026
4 checks passed
@ameynert ameynert deleted the am_toplevel_checks branch April 13, 2026 18:11
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.

1 participant