Repository navigation
Add the ewoks-install.sh script that installs a workflow environment without ewoks - #348
Conversation
|
Print the command to execute ewoks from another terminal. Edit: done. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
70665cd to
c5a956b
Compare
|
@loichuder Maybe we should not stick to the oneliner approach? This does four this:
Especially in terms of arguments this might be confusing. On the other hand for people who do not care and just want it to be done, the oneliner for installation is more convenient. |
|
Since the oneliner is a convenience thing, I would not go for parametrization. Either you use the oneliner and you don't have to touch jack. Or you wish to have more control and in this case, you do use the "classical" approach: install ewoks, run ewoks install, etc. |
0a0fdf1 to
def1723
Compare
516a57c to
1e12104
Compare
…without ewoks Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1e12104 to
2c517e3
Compare
There was a problem hiding this comment.
I'll just approve so we can make this go though.
But honestly, even with chaining them, PRs are increasingly difficult to review as @payno already mentioned. AI is generating a lot of documentation, tests, code and this is all very good but it adds a lot of mental load to read all of this, which makes me feel I have less and less brainpower to understand how the code runs.
|
|
||
| ``ewoks install`` needs a python environment with :term:`ewoks`. The ``ewoks-install`` script | ||
| only needs a :term:`package manager`: it installs the version of :term:`ewoks` that generated | ||
| the requirements, and the engine that saved the :term:`workflow`, in a bootstrap environment |
There was a problem hiding this comment.
| the requirements, and the engine that saved the :term:`workflow`, in a bootstrap environment | |
| the requirements, and the engine that saved the :term:`workflow`, in a new environment |
There was a problem hiding this comment.
The "new" environment would suggest the environment created by ewoks install. We are really talking about the bootstrap environment. It is not always new if the ewoks and engine versions are the same as a previous run of the bootstrap script.
| only needs a :term:`package manager`: it installs the version of :term:`ewoks` that generated | ||
| the requirements, and the engine that saved the :term:`workflow`, in a bootstrap environment | ||
| and runs ``ewoks install`` from there. All | ||
| arguments are passed to ``ewoks install``, except for the options of the script itself |
There was a problem hiding this comment.
All arguments are passed to
ewoks install, except for the options of the script itself
Not clear. What are the options of the script ?
There was a problem hiding this comment.
The bootstrap script itself has arguments like --bootstrap-requirement.
There was a problem hiding this comment.
See usage() in the script or run it with --help.
| * ``--package-manager-name`` and ``--package-manager-command`` select the | ||
| :term:`package manager` that creates the bootstrap environment. Without them it is the first | ||
| one that is available of uv, pixi, conda, poetry and pip-venv. | ||
| * ``--bootstrap-requirement`` installs a package in the bootstrap environment instead of the |
There was a problem hiding this comment.
bootstrap feels like technical jargon.
Simply --requirement ?
There was a problem hiding this comment.
Since we are talking about two environments (the bootstrap environment and the workflow environment) I think it is safer to keep the word bootstrap to avoid confusion.
| curl -LsSf -o ewoks-install.sh |docs_url|/ewoks-install.sh | ||
| sh ewoks-install.sh demo.json | ||
| * ``--package-manager-name`` and ``--package-manager-command`` select the |
There was a problem hiding this comment.
Are those the options of the scripts mentioned above?
If so, perhaps they should be in a section that could be referenced above.
I would have appreciated an answer to #348 (comment) to tell that you decided something else.
There was a problem hiding this comment.
I did not decide something else. I kept it as it was. The bootstrap script installs the package manager so I think we cannot do without arguments.
There was a problem hiding this comment.
Are those the options of the scripts mentioned above?
Yes, see usage() in the script or run it with --help.
There was a problem hiding this comment.
I don't know bash enough to review this.
Co-authored-by: Loïc Huder <42204205+loichuder@users.noreply.github.com>
Add the ewoks-install.ps1 script for Windows and PowerShell
PR summary
Chain of PRs for #341, install the environment of a workflow with only a package manager. Merge in order: #361 → #362 → #363 → #348 → #364
Install the environment of a workflow with only a package manager, no ewoks needed. Linux and macOS; Windows follows in #364. Once released:
curl -LsSf https://ewoks.readthedocs.io/en/stable/ewoks-install.sh | sh -s -- demo.jsonTo try the current branch,
--bootstrap-requirement "-e ."installs the checkout instead of the ewoks version of the workflow:sh src/ewoks/_bootstrap/ewoks-install.sh demo.json --bootstrap-requirement "-e ."
What changes
ewoks-install.sh, served at the root of the docs:ewoks installcommand with the remaining arguments, then runs it in that environment.--install-package-managerinstalls uv, pixi, poetry or conda when missing.ewoks installprints the text of the environment variableEWOKS_INSTALL_SUMMARY_HEADERbefore its summary. The script uses it to show the bootstrap environment: its python, the command to runewoks installagain and the command to remove it.Review guide
ewoks install: the summary header.-m package_manager_install.tests-package-manager-install(Linux, macOS) selects them.AI Disclosure
🤖 Generated with Claude Code