From cce2c732c6de3abc5d8bb6395a4247ef6f8217c7 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 17 Aug 2023 15:51:16 +0000 Subject: [PATCH] setup cleanup (#29419) * setup cleanup * update ci * update ci * export variables for mac os * check env * what is in the profile script? * install pyenv the same everywhere * temporarily disable brew cache * temporarily disable brew cache * try fixing pyenv virtualenv-init * try this * inject shims path earlier * try alternate install method * switch back to brew install * try eval "$(pyenv init --path)" * add eval "\$(pyenv init --path)" old-commit-hash: ad32816fd6bdd744e7f596209822707494d3ba5e --- .github/workflows/selfdrive_tests.yaml | 7 +++---- tools/install_python_dependencies.sh | 16 ++++++++++------ tools/mac_setup.sh | 9 +-------- tools/openpilot_env.sh | 22 ---------------------- tools/ubuntu_setup.sh | 7 ------- 5 files changed, 14 insertions(+), 47 deletions(-) delete mode 100755 tools/openpilot_env.sh diff --git a/.github/workflows/selfdrive_tests.yaml b/.github/workflows/selfdrive_tests.yaml index 65e10e61ed..427c96c0ec 100644 --- a/.github/workflows/selfdrive_tests.yaml +++ b/.github/workflows/selfdrive_tests.yaml @@ -149,18 +149,17 @@ jobs: PYTHONWARNINGS: default - name: Build openpilot run: | - source tools/openpilot_env.sh + eval "$(pyenv init --path)" poetry run scons -j$(nproc) - name: Run tests run: | - source tools/openpilot_env.sh - export PYTHONPATH=$PWD + eval "$(pyenv init --path)" poetry run tools/plotjuggler/test_plotjuggler.py - name: Pre Cache - Cleanup scons cache if: github.ref == 'refs/heads/master' run: | - source tools/openpilot_env.sh rm -rf /tmp/scons_cache/* + eval "$(pyenv init --path)" poetry run scons -j$(nproc) --cache-populate - name: Save scons cache id: scons-save-cache diff --git a/tools/install_python_dependencies.sh b/tools/install_python_dependencies.sh index 075dec3bff..70021f5c2e 100755 --- a/tools/install_python_dependencies.sh +++ b/tools/install_python_dependencies.sh @@ -14,21 +14,19 @@ if ! command -v "pyenv" > /dev/null 2>&1; then echo "pyenv install ..." curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash - echo -e "\n. ~/.pyenvrc" >> $RC_FILE cat < "${HOME}/.pyenvrc" if [ -z "\$PYENV_ROOT" ]; then export PATH=\$HOME/.pyenv/bin:\$HOME/.pyenv/shims:\$PATH export PYENV_ROOT="\$HOME/.pyenv" + eval "\$(pyenv init --path)" eval "\$(pyenv init -)" eval "\$(pyenv virtualenv-init -)" fi EOF + echo -e "\nsource ~/.pyenvrc" >> $RC_FILE - # setup now without restarting shell - export PATH=$HOME/.pyenv/bin:$HOME/.pyenv/shims:$PATH - export PYENV_ROOT="$HOME/.pyenv" - eval "$(pyenv init -)" - eval "$(pyenv virtualenv-init -)" + # activate pyenv now + source $RC_FILE fi export MAKEFLAGS="-j$(nproc)" @@ -52,6 +50,12 @@ pip install poetry==1.5.1 poetry config virtualenvs.prefer-active-python true --local echo "PYTHONPATH=${PWD}" > $ROOT/.env +if [[ "$(uname)" == 'Darwin' ]]; then + echo "# msgq doesn't work on mac" >> $ROOT/.env + echo "export ZMQ=1" >> $ROOT/.env + echo "export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES" >> $ROOT/.env +fi + poetry self add poetry-dotenv-plugin@^0.1.0 echo "pip packages install..." diff --git a/tools/mac_setup.sh b/tools/mac_setup.sh index 45bdf90383..3892efd6bb 100755 --- a/tools/mac_setup.sh +++ b/tools/mac_setup.sh @@ -46,6 +46,7 @@ brew "libtool" brew "llvm" brew "openssl@3.0" brew "pyenv" +brew "pyenv-virtualenv" brew "qt@5" brew "zeromq" brew "gcc@12" @@ -69,16 +70,8 @@ export CPPFLAGS="$CPPFLAGS -I${BREW_PREFIX}/opt/openssl@3/include" export PYCURL_CURL_CONFIG=/usr/bin/curl-config export PYCURL_SSL_LIBRARY=openssl -# openpilot environment -if [ -z "$OPENPILOT_ENV" ] && [ -n "$RC_FILE" ] && [ -z "$CI" ]; then - echo "source $ROOT/tools/openpilot_env.sh" >> $RC_FILE - source "$ROOT/tools/openpilot_env.sh" - echo "Added openpilot_env to RC file: $RC_FILE" -fi - # install python dependencies $DIR/install_python_dependencies.sh -eval "$(pyenv init --path)" echo "[ ] installed python dependencies t=$SECONDS" echo diff --git a/tools/openpilot_env.sh b/tools/openpilot_env.sh deleted file mode 100755 index 59108312ac..0000000000 --- a/tools/openpilot_env.sh +++ /dev/null @@ -1,22 +0,0 @@ -if [ -z "$OPENPILOT_ENV" ]; then - export PATH="$HOME/.pyenv/bin:$PATH" - - # Pyenv suggests we place the below two lines in .profile before we source - # .bashrc, but there is no simple way to guarantee we do this correctly - # programmatically across heterogeneous systems. For end-user convenience, - # we add the lines here as a workaround. - # https://github.com/pyenv/pyenv/issues/1906 - export PYENV_ROOT="$HOME/.pyenv" - - if [[ "$(uname)" == 'Linux' ]]; then - eval "$(pyenv virtualenv-init -)" - elif [[ "$(uname)" == 'Darwin' ]]; then - # msgq doesn't work on mac - export ZMQ=1 - export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES - fi - eval "$(pyenv init --path)" - eval "$(pyenv init -)" - - export OPENPILOT_ENV=1 -fi diff --git a/tools/ubuntu_setup.sh b/tools/ubuntu_setup.sh index 581b785252..9007611cc4 100755 --- a/tools/ubuntu_setup.sh +++ b/tools/ubuntu_setup.sh @@ -141,13 +141,6 @@ fi # python setup $DIR/install_python_dependencies.sh -source ~/.bashrc -if [ -z "$OPENPILOT_ENV" ]; then - printf "\nsource %s/tools/openpilot_env.sh" "$ROOT" >> ~/.bashrc - source ~/.bashrc - echo "added openpilot_env to bashrc" -fi - echo echo "---- OPENPILOT SETUP DONE ----" echo "Open a new shell or configure your active shell env by running:"