Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 3, 2025

The Dockerfile built pyOpenMS from source while Windows workflows installed from pip, creating an inconsistency.

Changes

Dockerfile

  • Added BUILD_PYOPENMS build arg (default: ON)
    • ON: Builds OpenMS and pyOpenMS from source (existing behavior)
    • OFF: Installs pyOpenMS from conda
  • Wrapped all OpenMS/pyOpenMS build steps in conditional blocks
ARG BUILD_PYOPENMS=ON
RUN if [ "$BUILD_PYOPENMS" = "ON" ]; then \
        mkdir /openms-build && cd /openms-build && \
        cmake -DPYOPENMS=ON ../OpenMS && \
        make -j4 pyopenms && \
        pip install dist/*.whl; \
    fi

Windows Workflows

  • Added BUILD_PYOPENMS env var (default: false) to both build-windows-executable-app.yaml and build-windows-executable-app-with-pyinstaller.yaml
    • false: Installs from pip (existing behavior)
    • true: Builds from source
  • Added conditional build steps in build-openms job:
    • Python setup and build dependencies (cython, autowrap, numpy)
    • CMake configuration with PYOPENMS flag
    • Ninja build and wheel packaging
    • Artifact upload
  • Added conditional install in build-executable job:
    • Downloads wheel artifact when built from source
    • Filters pyOpenMS from requirements.txt to avoid conflicts

Documentation

  • Updated README with build configuration options
  • Added usage examples for both Docker and workflow configurations

Defaults preserve existing behavior: Dockerfile builds from source, Windows workflows use pip.

Original prompt

This section details on the original issue you should resolve

<issue_title>Make pyOpenMS build Optional</issue_title>
<issue_description>I noticed our process is a bit inconsistent at the moment. The Dockerfile builds pyOpenMS from source but the windows installer workflow does not. To make it consistent I suggest the following:

  • Add an environment variable to Dockerfile to not build pyOpenMS but get it from conda
  • Add the option to build pyOpenMS for the windows installers</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@coderabbitai
Copy link

coderabbitai bot commented Dec 3, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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

Copilot AI and others added 4 commits December 3, 2025 13:45
Co-authored-by: t0mdavid-m <57191390+t0mdavid-m@users.noreply.github.com>
…lows

Co-authored-by: t0mdavid-m <57191390+t0mdavid-m@users.noreply.github.com>
…lter requirements.txt properly

Co-authored-by: t0mdavid-m <57191390+t0mdavid-m@users.noreply.github.com>
Co-authored-by: t0mdavid-m <57191390+t0mdavid-m@users.noreply.github.com>
Copilot AI changed the title [WIP] Update process to make pyOpenMS build optional Make pyOpenMS build optional in Dockerfile and Windows workflows Dec 3, 2025
Copilot AI requested a review from t0mdavid-m December 3, 2025 13:57
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.

Make pyOpenMS build Optional

2 participants