Skip to content

Adding OpenMs installation in ci.yml#145

Merged
jcharkow merged 4 commits intoOpenMS:mainfrom
subCode321:install-openms
Mar 4, 2025
Merged

Adding OpenMs installation in ci.yml#145
jcharkow merged 4 commits intoOpenMS:mainfrom
subCode321:install-openms

Conversation

@subCode321
Copy link
Contributor

@subCode321 subCode321 commented Mar 4, 2025

Fixes #137

Adding installation for OpenMs via conda. Documentation followed https://openms.readthedocs.io/en/latest/about/installation/installation-on-gnu-linux.html#install-via-conda

Summary by CodeRabbit

  • Chores
    • Enhanced our automated build process by integrating Miniconda for environment management, ensuring all necessary dependencies for OpenMS are correctly installed. Existing build steps remain unchanged, reinforcing our commitment to delivering a seamless and error-free experience.

@coderabbitai
Copy link

coderabbitai bot commented Mar 4, 2025

Walkthrough

The pull request modifies the continuous integration workflow in .github/workflows/ci.yml by replacing the Python setup step with a new step that uses Miniconda for environment management. A conda environment named openms is created, and specific channels are set for package installation. Additionally, a new step titled "Install OpenMS" is included to install the OpenMS package. Other steps, including code checkout and dependency installation, remain unchanged.

Changes

File Path Change Summary
.github/workflows/ci.yml Replaced Python setup with Miniconda setup, added "Install OpenMS" step to create a conda environment and install the OpenMS package.

Sequence Diagram(s)

sequenceDiagram
    participant Runner as CI Runner
    participant Env as Conda Environment
    participant OpenMS as OpenMS Package Installer

    Runner->>Runner: Checkout Code
    Runner->>Env: Create 'openms' Environment
    Env-->>Runner: Environment Ready
    Runner->>OpenMS: Configure conda channels (default, bioconda, conda-forge)
    Runner->>OpenMS: Install OpenMS
    Runner->>Runner: Install remaining dependencies & Run tests
Loading

Poem

Hopping in the code, I cheer with delight,
A new step shines so bright in the CI night.
OpenMS joins our conda play,
Python 3.10 leads the way.
With a twitch of whiskers, I hop and sing,
Happy dev days make our code spring!
🐇✨


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between fa5b563 and db30548.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/ci.yml

🪧 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate unit testing code.
    • @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.

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

Copy link

@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: 0

🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)

20-26: Ensure Conda Availability and Use Non-Interactive Flags
The new "Install OpenMS" step employs several conda commands which may prompt for interactive input. In CI environments—especially on GitHub’s ubuntu-latest image—conda is not pre-installed by default. Please consider:

  • Verifying or installing Conda: Add a prior step (e.g., using actions/setup-miniconda) to ensure that the CI environment has conda available.
  • Adding non-interactive flags: Append the -y flag to both the conda create and conda install commands to avoid hanging due to interactive prompts.
  • Activating the Environment (if required): If subsequent steps depend on the OpenMS installation in the new environment, explicitly activate it via conda activate openms.

For example, you might update the commands as follows:

-        conda create -n openms python=3.10
+        conda create -n openms python=3.10 -y
...
-        conda install openms
+        conda install -n openms openms -y
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 452c572 and 3535efd.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml (1 hunks)

Copy link
Contributor

@jcharkow jcharkow left a comment

Choose a reason for hiding this comment

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

Good start! Please see comments.
Also please ensure that the build is actually working as it seems to be failing. https://github.com/subCode321/streamlit-template/actions/runs/13647721004/job/38149552299

In this case, this issue seems to be unrelated to your PR however it is good to take note of this.

Copy link

@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: 0

🧹 Nitpick comments (2)
.github/workflows/ci.yml (2)

17-23: Clarify the OpenMS Installation Commands

The "Install OpenMS" step successfully creates a new Conda environment (openms) using the matrix-provided Python version and configures the necessary channels. However, please address the following concerns:

  • The command conda install openms openms -y lists the package name twice. Verify whether this duplication is intentional or if it should be simplified to conda install openms -y.
  • If the OpenMS installation is expected to be used in subsequent steps (such as dependency installation or tests), consider explicitly activating the newly created environment (for example, by adding conda activate openms) so that subsequent commands run within the correct context.

Below is an example diff suggestion:

-        conda install openms openms -y
+        conda install openms -y
+        conda activate openms  # Activate the environment for subsequent steps, if needed.

24-32: Ensure Consistent Environment Use After OpenMS Installation

Since the previous actions/setup-python step was removed, please verify that subsequent steps (like "Install dependencies" and "Test") run in the intended Python environment. If these steps should leverage the openms environment, you might need to activate it explicitly as suggested above.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 31-31: trailing spaces

(trailing-spaces)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 3535efd and 19f131c.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml (1 hunks)
🔇 Additional comments (1)
.github/workflows/ci.yml (1)

15-15: Validate the use of the setup-miniconda Action

The addition of the conda-incubator/setup-miniconda@v3 action is correctly placed to initialize Conda in the CI workflow. Please ensure that this step’s configuration meets your intended environment setup requirements, especially in terms of Python version management.

@subCode321 subCode321 requested a review from jcharkow March 4, 2025 17:58
Copy link
Contributor

@jcharkow jcharkow left a comment

Choose a reason for hiding this comment

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

Looks good to me! Ready to merge

@jcharkow jcharkow merged commit 1a630bf into OpenMS:main Mar 4, 2025
4 of 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.

Add OpenMS build to tests (github actions)

2 participants