Skip to content

Feat/add custom command - #10

Merged
cuinixam merged 1 commit into
cuinixam:mainfrom
code-steadfast:feat/add-custom-command
Aug 11, 2026
Merged

cuinixam merged 1 commit into
cuinixam:mainfrom
code-steadfast:feat/add-custom-command

Conversation

@code-steadfast

Copy link
Copy Markdown
Contributor

#3

Comment thread .github/workflows/ci.yml Outdated
Comment thread src/pypeline/pypeline.py Outdated
# Independent if the step was executed or not, every step shall update the context
step.update_execution_context()

if self.command:

@cuinixam cuinixam Apr 3, 2026 •

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Why do we need to wrap the custom command as a pipeline step and not just use the execution context subprocess executor?

You have to consider the fact that the pypeline run shall exit even if the process that was started did not. If I for example use the pypeline run with the "code ." command, I would like that the pypeline execution exits but the VS Code still runs. How is this handled?

@cuinixam

Copy link
Copy Markdown
Owner

Hi @code-steadfast, thanks for taking care of this issue. I think we need to cover to separate use cases:

  • run a command like uv lock or python --version where I want to wait to the process to run and then exit
  • open a GUI like VS Code code where I want to start it and let it run and exit the pypeline execution immediately

I think we need an extra argument for this with the default to wait for the process to finish.

What do you think? Did you test this feature locally?

@code-steadfast

code-steadfast commented Apr 27, 2026 •

Copy link
Copy Markdown
Contributor Author

Hi @cuinixam, Thanks to you for reviewing and I tested locally and its working

.venv\Scripts\python src\pypeline\__run.py run --step CreateVEnv --single --command "python --version"

Regarding extra argument may be I try something like "Popen" option

@code-steadfast
code-steadfast force-pushed the feat/add-custom-command branch 5 times, most recently from f831ebb to e6e2294 Compare May 12, 2026 17:49
@code-steadfast

code-steadfast commented May 12, 2026 •

Copy link
Copy Markdown
Contributor Author

Hi @cuinixam, Please check these changes.

Thanks 😸

@cuinixam

Copy link
Copy Markdown
Owner

I think it is better if we explicitly separate the commands which shall run at the end of the pipeline and an application that shall be started after the pipeline runs.

For example:

  • pypeline run --step CreateVEnv --command "echo" will create a step for the echo command and run it after the pipeline ran. The pypeline execution will wait for the command to exit and then finish
  • pypeline run --step CreateVEnv --application "code ." will not create any extra step but just run the pipeline and then spawn a new process with the command to start the application and exit immediately

We can discuss if the name application is the best name but otherwise I think it is better to explicitly separate the two use cases as two different arguments.

@cuinixam
cuinixam force-pushed the feat/add-custom-command branch from e6e2294 to 2ce46e8 Compare August 11, 2026 06:50
@cuinixam
cuinixam merged commit 0e0af6d into cuinixam:main Aug 11, 2026
9 checks passed
@cuinixam

Copy link
Copy Markdown
Owner

Fixes #3

@code-steadfast
code-steadfast deleted the feat/add-custom-command branch September 8, 2026 06:10

This branch was successfully deployed

1 active deployment
release — 2ce46e8f Deployed Aug 11, 2026 by cuinixam via release #133
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