Skip to content

fix: empty PRs for when meta wrappers have no changes - #128

Merged
johanneskoester merged 6 commits into
snakemake:mainfrom
fgvieira:fix_meta_wrapper_pr
Sep 22, 2026
Merged

johanneskoester merged 6 commits into
snakemake:mainfrom
fgvieira:fix_meta_wrapper_pr

Conversation

@fgvieira

@fgvieira fgvieira commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

In snakemake-wrappers autobump PRs are being created even though there are no file changes. This PR addresses that by checking if the files changed before creating the PR.

EDIT: With current changes, quality check fails due to ruff check finding ~200 linting issues. Not sure if I should try to fix them so, in the meantime, forced ruff to return exit code of zero.

Summary by CodeRabbit

Summary by CodeRabbit

  • Bug Fixes
    • Prevented unnecessary writes when no Snakefile wrapper updates are available.
    • Unchanged Snakefiles are now logged without being written or added to pull requests.
    • Pull requests are created and finalized only when relevant Snakefiles have changed.
    • Aggregate pull requests are finalized once after all files are processed.
    • Pull request setup and file additions remain conditional on pull request creation being enabled.

@coderabbitai

coderabbitai Bot commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 584de7d3-fc45-4cf9-9bf0-cf68de746d5a

📥 Commits

Reviewing files that changed from the base of the PR and between 6caf53a and a030007.

⛔ Files ignored due to path filters (1)
  • pyproject.toml is excluded by !pyproject.toml
📒 Files selected for processing (1)
  • snakedeploy/snakemake_wrappers.py
 ______________________________________________________________
< Your API returns 200 OK; the logic returns 404 Common Sense. >
 --------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: bd0f77ac-840f-4980-b416-ea2be40de7e8

📥 Commits

Reviewing files that changed from the base of the PR and between fb1ea2b and 6caf53a.

📒 Files selected for processing (1)
  • snakedeploy/snakemake_wrappers.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

update_snakemake_wrappers now writes only changed Snakefiles. Per-Snakefile pull requests start after a change, and aggregate pull requests finalize only when at least one update exists.

Changes

Wrapper update handling

Layer / File(s) Summary
Conditional Snakefile processing
snakedeploy/snakemake_wrappers.py
The function tracks whether updates occur, compares generated and original content, skips unchanged files, and conditionally creates and finalizes pull requests.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 6caf5

The change conditionally writes Snakefiles and creates pull requests only for actual updates, with no current evidence of merge-blocking risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: preventing empty pull requests when meta wrappers have no changes. It is concise and specific.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

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

@johanneskoester
johanneskoester merged commit 54d8c48 into snakemake:main Sep 22, 2026
4 checks passed
@johanneskoester

Copy link
Copy Markdown
Contributor

Thank you so much!

johanneskoester pushed a commit that referenced this pull request Sep 22, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.17.0](v0.16.2...v0.17.0)
(2026-09-22)


### Features

* add --commit flag to deploy-workflow
([#127](#127))
([9bb3cc7](9bb3cc7))


### Bug Fixes

* empty PRs for when meta wrappers have no changes
([#128](#128))
([54d8c48](54d8c48))
* Fix --version
([#125](#125))
([fb1ea2b](fb1ea2b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@fgvieira
fgvieira deleted the fix_meta_wrapper_pr branch September 22, 2026 19:52
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