-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[Release][Python] virtualenv not activated in verify-release-candidate.sh #38447
Comments
Could you show logs around the "Creating python virtualenv at ..." message? https://github.com/ursacomputing/crossbow/actions/runs/6613480564/job/17961403470#step:6:283 is the log in our nightly CI. |
I've installed python3.8-dev, looks it okay now. |
Thanks. It's strange that the verification script wasn't finished immediately when |
Hmm. $ cat /tmp/b.sh
set -e
a()
{
false
echo "a: failed after"
}
a || exit 1
echo "top level"
false
echo "failed after"
$ bash /tmp/b.sh
a: failed after
top level |
Looks it's also related to |
Wow! We may want to remove all |
### Rationale for this change If we use "|| {exit,continue}", "set -x" doesn't work. With "|| exit" ("false" in "a()" doesn't stop the shell execution): ```console $ cat /tmp/with-or-exit.sh set -e a() { false echo "a: failed after" } a || exit 1 echo "top level" false echo "failed after" $ bash /tmp/with-or-exit.sh a: failed after top level ``` Without "|| exit" ("false" in "a()" stops the shell execution): ```console $ cat /tmp/without-or-exit.sh set -e a() { false echo "a: failed after" } a echo "top level" false echo "failed after" $ bash /tmp/without-or-exit.sh ``` ### What changes are included in this PR? * Remove needless `|| exit` * Use `if` instead of `|| continue` ### Are these changes tested? No. * Closes: #38447 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…38486) ### Rationale for this change If we use "|| {exit,continue}", "set -x" doesn't work. With "|| exit" ("false" in "a()" doesn't stop the shell execution): ```console $ cat /tmp/with-or-exit.sh set -e a() { false echo "a: failed after" } a || exit 1 echo "top level" false echo "failed after" $ bash /tmp/with-or-exit.sh a: failed after top level ``` Without "|| exit" ("false" in "a()" stops the shell execution): ```console $ cat /tmp/without-or-exit.sh set -e a() { false echo "a: failed after" } a echo "top level" false echo "failed after" $ bash /tmp/without-or-exit.sh ``` ### What changes are included in this PR? * Remove needless `|| exit` * Use `if` instead of `|| continue` ### Are these changes tested? No. * Closes: apache#38447 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Describe the bug, including details regarding any error messages, version, and platform.
Tested on
Arm64 ubuntu-20.04
.Try to verify 14.0.0 RC2 by
TEST_DEFAULT=0 TEST_CPP=1 TEST_PYTHON=1 dev/release/verify-release-candidate.sh 14.0.0 2
,failed with below log:
The syntax error is probably because the default python version is python2 on my test machine.
The true error should be at the beginning of the log:
dev/release/verify-release-candidate.sh: line 541: /tmp/arrow-14.0.0.bKwoL/venv-source/bin/activate: No such file or directory
Related code is at https://github.com/apache/arrow/blob/main/dev/release/verify-release-candidate.sh#L531-L542
It checks existence of diretory
/tmp/arrow-14.0.0.bKwoL/venv-source
. If that dir exists, run bin/activate to activate virtualenv, otherwise create and activate a new virtualenv.But on my test machine, that dir exists, but no
bin/activate
. So virtualenv is not activate. Still using python on the host.Component(s)
Python, Release
The text was updated successfully, but these errors were encountered: