Browse Source

Merge pull request #1324 from jleroy/bugfix/venv-activation

Fix venv activation not working when using a custom VENV_NAME
pull/1325/head
Ross McFarland 2 months ago
committed by GitHub
parent
commit
4d7ca8d92a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
11 changed files with 78 additions and 102 deletions
  1. +4
    -0
      .changelog/cbeaa629126c4d7bbb6f8b59e76b8835.md
  2. +12
    -11
      .git_hooks_pre-commit
  3. +2
    -2
      .github/workflows/changelog.yml
  4. +5
    -13
      script/changelog
  5. +27
    -0
      script/common.sh
  6. +5
    -14
      script/coverage
  7. +4
    -3
      script/format
  8. +5
    -15
      script/generate-docs
  9. +5
    -15
      script/lint
  10. +4
    -15
      script/release
  11. +5
    -14
      script/test

+ 4
- 0
.changelog/cbeaa629126c4d7bbb6f8b59e76b8835.md View File

@ -0,0 +1,4 @@
---
type: none
---
Fix venv activation not working when using a custom VENV_NAME

+ 12
- 11
.git_hooks_pre-commit View File

@ -1,13 +1,14 @@
#!/bin/sh
#!/bin/bash
set -e
# Scripts path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )/script"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
HOOKS=$(dirname "$0")
GIT=$(dirname "$HOOKS")
ROOT=$(dirname "$GIT")
. "$ROOT/env/bin/activate"
"$ROOT/script/changelog" check
"$ROOT/script/lint"
"$ROOT/script/format" --check --quiet || (echo "Formatting check failed, run ./script/format" && exit 1)
"$ROOT/script/coverage"
./script/changelog check
./script/lint
./script/format --check --quiet || (
echo "Formatting check failed, run ./script/format" &&
exit 1
)
./script/coverage

+ 2
- 2
.github/workflows/changelog.yml View File

@ -15,10 +15,10 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install dependencies
- name: Setup Environment
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-dev.txt
./script/bootstrap
- name: Changelog Check
run: |
./script/changelog check

+ 5
- 13
script/changelog View File

@ -1,16 +1,8 @@
#!/bin/sh
set -e
#!/bin/bash
cd "$(dirname "$0")/.."
ROOT=$(pwd)
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ -f "$ACTIVATE" ]; then
. "$ACTIVATE"
fi
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
changelet "$@"

+ 27
- 0
script/common.sh View File

@ -0,0 +1,27 @@
# This script contains Python's venv management features common to all shell
# scripts located in this directory and to the repository pre-commit hook.
# This script is *not* meant to be run directly.
# Exit on any error
set -e
# Path to OctoDNS base directory
OCTODNS_PATH="$( dirname -- "${SCRIPT_PATH}"; )"
# Change to path OctoDNS base directory
cd "${OCTODNS_PATH}"
# If no venv name is set, set it to "env"
if [ -z "${VENV_NAME}" ]; then
VENV_NAME="${OCTODNS_PATH}/env"
fi
ACTIVATE="${VENV_NAME}/bin/activate"
# Check that [venv_directory]/bin/activate exists.
if [ ! -f "${ACTIVATE}" ]; then
echo "${ACTIVATE} does not exist. Run ./script/bootstrap" >&2
exit 1
fi
# Activate OctoDNS venv.
source "${ACTIVATE}"

+ 5
- 14
script/coverage View File

@ -1,18 +1,9 @@
#!/bin/sh
set -e
#!/bin/bash
cd "$(dirname "$0")/.."
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ ! -f "$ACTIVATE" ]; then
echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2
exit 1
fi
. "$ACTIVATE"
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
# Just to be sure/safe
export AWS_ACCESS_KEY_ID=


+ 4
- 3
script/format View File

@ -1,10 +1,11 @@
#!/bin/bash
set -e
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
SOURCES="$(find *.py octodns tests docs -name '*.py') $(grep --files-with-matches '^#!.*python' script/*)"
. env/bin/activate
isort "$@" $SOURCES
black "$@" $SOURCES

+ 5
- 15
script/generate-docs View File

@ -1,19 +1,9 @@
#!/bin/sh
set -e
#!/bin/bash
cd "$(dirname "$0")/.."
ROOT=$(pwd)
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ ! -f "$ACTIVATE" ]; then
echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2
exit 1
fi
. "$ACTIVATE"
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
cd docs


+ 5
- 15
script/lint View File

@ -1,19 +1,9 @@
#!/bin/sh
set -e
#!/bin/bash
cd "$(dirname "$0")/.."
ROOT=$(pwd)
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ ! -f "$ACTIVATE" ]; then
echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2
exit 1
fi
. "$ACTIVATE"
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
SOURCES="$(find *.py octodns tests docs -name '*.py') $(grep --files-with-matches '^#!.*python' script/*)"


+ 4
- 15
script/release View File

@ -1,13 +1,9 @@
#!/bin/bash
set -e
cd "$(dirname "$0")"/..
ROOT=$(pwd)
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
PYPYRC="$HOME/.pypirc"
if [ ! -e "$PYPYRC" ]; then
@ -22,13 +18,6 @@ EndOfMessage
exit 1
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ ! -f "$ACTIVATE" ]; then
echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2
exit 1
fi
. "$ACTIVATE"
# Set so that setup.py will create a public release style version number
export OCTODNS_RELEASE=1


+ 5
- 14
script/test View File

@ -1,18 +1,9 @@
#!/bin/sh
set -e
#!/bin/bash
cd "$(dirname "$0")/.."
if [ -z "$VENV_NAME" ]; then
VENV_NAME="env"
fi
ACTIVATE="$VENV_NAME/bin/activate"
if [ ! -f "$ACTIVATE" ]; then
echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2
exit 1
fi
. "$ACTIVATE"
# Get current script path
SCRIPT_PATH="$( dirname -- "$( readlink -f -- "${0}"; )"; )"
# Activate OctoDNS Python venv
source "${SCRIPT_PATH}/common.sh"
# Just to be sure/safe
export AWS_ACCESS_KEY_ID=


Loading…
Cancel
Save