-
-
Notifications
You must be signed in to change notification settings - Fork 647
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
pio pkg exec --package "platformio/tool-esptoolpy" -- esptool version
fails in Github Actions
#1501
Comments
Wrong way to use the Platformio installed python. See platform-espressif32/builder/main.py Line 283 in c6a8c9a
You have to use the Platformio env var for PYTHON to get the path and call |
Maybe I misunderstood, but the issue it that
I only include the |
Here is an example to use esptool.py to merge binaries |
I know how to merge binaries using esptool. The issue is that the command fails in a Github Actions runner when called through the To prove that it's not an issue with the underlying The repo I'm linking is specifically made as a minimum repo that reproduces the issue. It's not doing anything except calling |
The snippet shown does work in github actions too. |
I guess |
merge_bin
fails in Github Actions when called from pkg exec --package "platformio/tool-esptoolpy" -- esptool
pkg exec --package "platformio/tool-esptoolpy" -- esptool version
fails in Github Actions
What is the correct platformio? The Github Actions runs
Pinned path for what? For pio? Also I reproduced the issue with the much simpler |
Yes, path for calling |
So you're saying that there is an issue with the Or is it by design from platformio that there are always two versions that get installed? |
Yes, by design Platformio installs an venv. That's not an issue from the command. User has to take care to use the "correct" one from the venv |
And by design |
pkg exec --package "platformio/tool-esptoolpy" -- esptool version
fails in Github Actionspio pkg exec --package "platformio/tool-esptoolpy" -- esptool version
fails in Github Actions
That is a good question. In my automated build, I use pio for the heavy-lifting and later I need to invoke esptool commands. Since I already have pio installed and So I don't need to install the tool manually. I just need to call into it when it's already installed. Which doesn't work (in GH runner). |
That looks like my statement is correct. There is no path set and so just calling |
I don't call
I don't follow. What is the point of this tool "platformio/tool-esptoolpy" if it doesn't run as standalone? What else should I run in my
It's easier to do |
Anyways looks like no issue from Platformio here. |
There is the issue that the |
I wouldn't say there is an issue. Call the command with path and it will work. |
Sure, I've added the full path so now the full command is The new GH logs show the same error. If that's not the correct path, then what is the correct path? And why would pio get installed in the wrong path? |
This is not the path of the venv! |
As you may notice in my repro But here we go, I changed the installation method to the Install Script method which looks like it's installing a venv. I changed the invocation line to |
Hey @Jason2866 and thanks for your involvement yesterday, I feel like we're now touching on the heart of the issue and I've tried your suggestion to
with the |
Calling
pio pkg exec --package "platformio/tool-esptoolpy" -- esptool version
fails in Github Actions runner with aUserSideException: [Errno 13] Permission denied: 'esptool'
error.Calling
python -m esptool version
works in Github Actions runner, which shows that there is nothing wrong with the underlyingesptool
tool.The error appears in Windows and Ubuntu. The error doesn't appear outside of Github Actions runner (ie it "works on my machine").
For repro and logs, you can check the Actions logs of this repo. The failed run shows the error with
pio pkg exec ...
, the successful run shows thepython -m ...
call.The text was updated successfully, but these errors were encountered: