#!/bin/bash -e
# Use docker + pip-compile-multi to pin scriptworker python requirements
TOP_DIR="$(dirname "$( cd "$(dirname "$0")" && pwd -P)")"

export PY_DOT_VERSION="${PY_DOT_VERSION:-3.7}"
PIP_DOCKER_TAG="${PIP_DOCKER_TAG:-mozillareleases/scriptworker-pip-compile:${PY_DOT_VERSION}}"

usage() {
    echo "Usage:
    $0 build
    $0 pin
    $0 test"
    exit 1
}

if [ $# != 1 ] ; then
    usage
    exit 1
fi

case $1 in
    build)
        docker build -t "$PIP_DOCKER_TAG" "$TOP_DIR/requirements/."
        ;;
    pin)
        docker run -i -v "$TOP_DIR/requirements":/requirements "$PIP_DOCKER_TAG" \
            pip-compile-multi -d /requirements/ --upgrade -i in -o txt -g base -g test
        ;;
    test)
        docker run -i -v "$TOP_DIR/requirements":/requirements "$PIP_DOCKER_TAG" \
            pip-compile-multi -d /requirements/ --upgrade -i in -o txt -g base -g test verify
        ;;
    *)
        usage
        exit 1
        ;;
esac
