-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(workflow): Added new development workflow for the submitter #32
Conversation
eed34ec
to
d79c316
Compare
DEVELOPMENT.md
Outdated
3. Create a Houdini package using the provided script, specifying the full houdini version: | ||
|
||
```sh | ||
python scripts/install_dev_submitter.py --houdini-version X.Y.Z |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this works for all platforms, why not replace the hatch run install
command or add that functionality? wouldn't even need to do hatch env create
then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this would be ideal. While I wrote this with support for all platforms in mind, I haven't tested it on other platforms since I don't have access to a Mac yet though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done (but only tested on Windows)
scripts/install_dev_submitter.py
Outdated
from typing import Optional | ||
|
||
|
||
VERSION_REGEX = re.compile(r"^([0-9]+)\.([0-9]+)\.([0-9]+)") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we don't need the last number right? Everything here just uses the major minor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup. Originally I was going to run hotl from this script to mirror what the existing shell script does, but I decided not to since it's not really necessary, and an in-place workflow is better for development. I can change this to make the patch component optional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
DEVELOPMENT.md
Outdated
5. Run `.\bin\hython -m pip install -e C:\Users\<username>\deadline-clients\deadline-cloud-for-houdini` to install the Houdini submitter in edit mode. | ||
6. Run Houdini. Go to File > Import > Houdini Digital Asset Select the `src\deadline\houdini_submitter\otls\deadline_cloud.hda` directory. Press "Install and Create", which should create a "deadline_cloud1" node in the output context. | ||
7. To edit the deadline_cloud hda, go to Assets > Asset Manager. Under Operator Type Libraries > Current HIP File, you will find "Driver/deadline_cloud". Right click, select Type Properties. From the Parameter tab you can modify the parameter interface, as you hit Apply you will see that the "DialogScript" file in the hda source files has been updated. | ||
> Note: This workflow assumes you are using the same version of Python as the version of Houdini you are developing for uses. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this the case? The python script just copies files over. It shouldn't care about the python version Houdini uses?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, you're using the hatch env for the deps? We can just install the deps like the installer and the hatch run install command to prevent this requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable. Personally I use pyenv which makes it pretty easy to have multiple python versions on a system, but I think the other advantage to what you're suggesting is that the environment won't include all the stuff in requirements-test.txt, which will get it even close to a production install.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
I'd recommend taking a look at the existing |
212344c
to
4ac7acd
Compare
4ac7acd
to
d043a7f
Compare
Signed-off-by: Evan Spearman <[email protected]>
d043a7f
to
f9717f6
Compare
What was the problem/requirement? (What/Why)
The development workflow for the submitter installs the plugin differently than the submitter installer and also modifies the installation of Houdini itself.
What was the solution? (How)
Added a script and instructions for installing the plugin using Houdini packages. The package points to the cloned source code and your local hatch environment for dependencies, meaning you can edit in place.
What is the impact of this change?
The development workflow now more closely mirrors a production installation, does not modify the Houdini installation itself, and is still editable in place.
How was this change tested?
Ran through the workflow on my laptop
Was this change documented?
Yes
Is this a breaking change?
No