-
Notifications
You must be signed in to change notification settings - Fork 6
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
Allow for plugin use without Conda and enable a new bashrc_path
config variable
#61
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #61 +/- ##
===========================================
+ Coverage 84.59% 85.76% +1.17%
===========================================
Files 2 2
Lines 305 309 +4
===========================================
+ Hits 258 265 +7
+ Misses 47 44 -3
☔ View full report in Codecov by Sentry. |
@wjcunningham7 --- thoughts on this one? I think this should be ready to go whenever you agree. |
One comment:
|
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
bashrc_path
config variable
Update conda_env type
EDIT: Fixed and ready to go!! @wjcunningham7 --- FYI there are some sporadic GitHub actions test failing both PRs. Might need to have them retriggered later. |
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
I would prefer to find a way to avoid sourcing bashrc altogether (for conda) since all sorts of unrelated stuff can be in there, and if the default shell isn't bash it will fail entirely. This may be out of scope for this PR however. For the scope of this PR, your changes are appropriate. |
It wasn't actually clear to me why we are sourcing the bashrc. Wouldn't the bashrc be sourced already, just like it is at login? I don't think I've ever had to source the bashrc in my Slurm jobs, personally. |
It depends on a few things -- the default shell on the system, the behavior of sshd, and the behavior of asyncssh. For perlmutter it looks like this may not be necessary. In general, the bashrc file is only sourced if the shell is interactive. Additionally, even if SSHD does source bashrc for non-interactive connections, the bashrc skeleton (at /etc/skel/.bashrc) often includes a return statement for non-interactive shells. Since there are a few variables in play here, we can't necessarily assume a system we haven't interacted with before will source the file automatically. All that being said, the pattern here has been applied in a few different ways across different plugins, and it appears to me that asyncssh always uses an interactive shell. So it may not be necessary at all! |
Ah that's useful context! Well, good news is that if a user doesn't want to source anything, they don't have to now. They can just do |
Closes #60.