summaryrefslogtreecommitdiff
path: root/tools/tox_install.sh
blob: 15aa9decf96afc96f4a7f276ae0ad3f913ecf538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env bash

# Client constraint file contains this client version pin that is in conflict
# with installing the client from source. We should remove the version pin in
# the constraints file before applying it for from-source installation.

set -e

if [[ -z "$CONSTRAINTS_FILE" ]]; then
    echo 'WARNING: expected $CONSTRAINTS_FILE to be set' >&2
    PIP_FLAGS=(-U)
else
    # NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
    # published to logs.openstack.org for easy debugging.
    localfile="$VIRTUAL_ENV/log/upper-constraints.txt"

    if [[ "$CONSTRAINTS_FILE" != http* ]]; then
        CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE"
    fi
    curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile"

    pip install -c"$localfile" openstack-requirements

    # This is the main purpose of the script: Allow local installation of
    # the current repo. It is listed in constraints file and thus any
    # install will be constrained and we need to unconstrain it.
    edit-constraints "$localfile" -- "$CLIENT_NAME"
    PIP_FLAGS=(-c"$localfile" -U)
fi

pip install "${PIP_FLAGS[@]}" "$@"