Skip to content

Make reprostim the default repronim-reprostim container entrypoint#232

Merged
vmdocua merged 8 commits into
masterfrom
bf-container-entrypoint
Mar 11, 2026
Merged

Make reprostim the default repronim-reprostim container entrypoint#232
vmdocua merged 8 commits into
masterfrom
bf-container-entrypoint

Conversation

@vmdocua
Copy link
Copy Markdown
Collaborator

@vmdocua vmdocua commented Mar 11, 2026

Refactor repronim-reprostim container to be more "native" in usage.

Tasks:

  • Update container entry point from python3 to reprostim shim.
  • Include PsychoPy venv bin into system PATH env variable.
  • Update helper bash scripts around container.
  • Make sure GitHub container workflow actions and test passed well.
  • Update RTD documentation with applied changes.
  • Test container on local dev machine and typhon (will be completed after the PR is merged and released).

Closes #217.

@vmdocua vmdocua self-assigned this Mar 11, 2026
@vmdocua vmdocua added documentation Changes only affect the documentation enhancement New feature or request patch Increment the patch version when merged tests Add or improve existing tests priority-high labels Mar 11, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive task list and plan to configure the repronim-reprostim container, establishing reprostim as its default entrypoint. This change aims to simplify container execution by allowing direct invocation of the reprostim command without requiring explicit python3 -m reprostim calls, thereby improving user experience and streamlining container workflows. The PR itself adds the documentation for this plan.

Highlights

  • New Task Document Added: A new markdown document, .ai/task-container.md, has been added to detail the implementation plan for making reprostim the default container entrypoint for repronim-reprostim.
  • Entrypoint Simplification Goal: The primary goal outlined in the new document is to enable direct invocation of reprostim <args> when running the container (e.g., singularity run <container.sif> <args> or docker run <image> <args>), eliminating the need for python3 -m reprostim.
  • Planned Script Modifications: The task list specifies planned modifications to setup_container.sh, generate_container.sh, run_reprostim.sh, and run_reprostim_ci.sh to achieve the default entrypoint functionality and ensure compatibility across different container run modes.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .ai/task-container.md
    • Added a new document outlining the tasks required to make reprostim the default container entrypoint.
Activity
  • No human activity (comments, reviews, etc.) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a markdown file, .ai/task-container.md, which outlines a plan to make reprostim the default container entrypoint. However, the PR does not contain the actual code changes to implement this plan. The title, 'Make reprostim the default repronim-reprostim container entrypoint', is therefore misleading as it implies the work is completed. A pull request should ideally contain the code to be merged. This task list might be better suited as a comment on issue #217 or as part of a draft pull request description while the changes are being developed. I've also pointed out a potential contradiction in the planned tasks within the new file.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment thread .ai/task-container.md Outdated
Comment on lines +21 to +27
- [ ] **`setup_container.sh`**: Extend `PATH` to include `${PSYCHOPY_VENV_BIN}` (e.g. append to
`/etc/environment` or write a profile script under `/etc/profile.d/`) so that `reprostim` and
other venv binaries are accessible system-wide without individual wrappers.

- [ ] **`setup_container.sh`**: Add `/usr/local/bin/reprostim` wrapper script after the existing
`python3` wrapper (same pattern: write a one-line `#!/bin/sh` wrapper pointing to
`${PSYCHOPY_VENV_BIN}/reprostim`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

There seems to be a contradiction between the first two tasks for setup_container.sh. The first task aims to make reprostim accessible by adding its directory to the system PATH, explicitly stating it's to avoid individual wrappers. The second task, however, proposes creating exactly such a wrapper script for reprostim. These appear to be two alternative solutions. Could you clarify if both are needed, or if one is preferred? If the PATH is correctly extended, a separate wrapper script should be unnecessary.

@vmdocua vmdocua marked this pull request as ready for review March 11, 2026 18:55
@vmdocua vmdocua added the release Create a release when this pr is merged label Mar 11, 2026
@vmdocua vmdocua merged commit be8fadb into master Mar 11, 2026
11 of 12 checks passed
@vmdocua vmdocua deleted the bf-container-entrypoint branch March 11, 2026 18:56
@github-actions
Copy link
Copy Markdown

🚀 PR was released in 0.7.27 🚀

@github-actions github-actions Bot added the released This issue/pull request has been released. label Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Changes only affect the documentation enhancement New feature or request patch Increment the patch version when merged priority-high release Create a release when this pr is merged released This issue/pull request has been released. tests Add or improve existing tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tune up repronim/reprostim container entry point

1 participant