snakemake-github-action icon indicating copy to clipboard operation
snakemake-github-action copied to clipboard

feat: bring your own condarc

Open jakevc opened this issue 7 months ago • 1 comments

Summary by CodeRabbit

  • New Features
    • Added support for specifying a custom Conda configuration file when running the Snakemake GitHub Action.
  • Documentation
    • Updated documentation to describe new input parameters and provide usage examples for custom Conda configuration.
  • Tests
    • Introduced automated tests to verify functionality with a custom Conda configuration file.

jakevc avatar Jun 12 '25 20:06 jakevc

📝 Walkthrough

Walkthrough

The changes introduce a new optional condarc-file input to the Snakemake GitHub Action, allowing users to specify a custom Conda configuration file. Documentation and workflow examples are updated, and the action now validates and applies the custom Conda configuration during runs. A new test job verifies this functionality.

Changes

File(s) Change Summary
README.md Documents new inputs: snakemake-version, install-apptainer, condarc-file; updates usage examples.
action.yml Adds condarc-file input, validates its existence, passes it to Conda setup, and updates Conda environment setup.
.github/workflows/main.yml Renames "build" job to "test"; adds "test-condarc" job to test custom Conda config file usage.
.test/condarc.yaml Adds sample Conda configuration file for testing the condarc-file input.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHub Actions Runner
    participant Snakemake Action
    participant Conda Setup

    User->>GitHub Actions Runner: Push workflow with condarc-file input
    GitHub Actions Runner->>Snakemake Action: Start action with condarc-file
    Snakemake Action->>Snakemake Action: Validate condarc-file exists
    alt condarc-file found
        Snakemake Action->>Conda Setup: Setup Miniconda with condarc-file
        Conda Setup->>Snakemake Action: Conda environment configured
    else condarc-file missing
        Snakemake Action->>GitHub Actions Runner: Fail with error
    end
    Snakemake Action->>GitHub Actions Runner: Run workflow with custom Conda config

Possibly related PRs

  • snakemake/snakemake-github-action#39: Adds and modifies composite action structure, including Conda-based setup and related input parameters, directly affecting the same files and logic as this PR.

Suggested reviewers

  • johanneskoester

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.
    • Explain this complex logic.
    • 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. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • 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 src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

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

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

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

Documentation and Community

  • 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.

coderabbitai[bot] avatar Jun 12 '25 20:06 coderabbitai[bot]

Hi @jakevc Is this PR still active? If yes I can review if you like to invite me. I've gone through the changes and can not see how this extra feature would harm the action.

m-jahn avatar Nov 05 '25 08:11 m-jahn

I would like to wait with this. Reason: Snakemake will soon move away from conda to directly using rattler for conda package deployment. This would deprecate the desired option.

johanneskoester avatar Nov 12 '25 09:11 johanneskoester