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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#!/bin/bash
lib::setup::debian_requirements() {
echo "Installing Debian based pre-requisites"
export DEBIAN_FRONTEND=noninteractive
apt-get update
if [ x"$GSSAPI_PROVIDER" = "xheimdal" ]; then
echo "Installing Heimdal packages for Debian"
apt-get -y install \
heimdal-{clients,dev,kdc}
export PATH="/usr/lib/heimdal-servers:${PATH}"
else
echo "Installing MIT Kerberos packages for Debian"
apt-get -y install \
gss-ntlmssp \
krb5-{user,kdc,admin-server,multidev} \
libkrb5-dev
fi
}
lib::setup::system_requirements() {
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::group::Installing System Requirements"
fi
if [ -f /etc/debian_version ]; then
lib::setup::debian_requirements
elif [ "$(uname)" == "Darwin" ]; then
echo "No system requirements required for macOS"
elif [ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]; then
echo "No system requirements required for Windows"
else
echo "Distro not found!"
fi
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::endgroup::"
fi
}
lib::setup::python_requirements() {
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::group::Installing Python Requirements"
fi
echo "Installing spnego"
if [ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]; then
DIST_LINK_PATH="$( echo "${PWD}/dist" | sed -e 's/^\///' -e 's/\//\\/g' -e 's/^./\0:/' )"
else
DIST_LINK_PATH="${PWD}/dist"
fi
# Getting the version is important so that pip prioritises our local dist
python -m pip install build
SPNEGO_VERSION="$( python -c "import build.util; print(build.util.project_wheel_metadata('.').get('Version'))" )"
python -m pip install pyspnego=="${SPNEGO_VERSION}" \
--find-links "file://${DIST_LINK_PATH}" \
--verbose
echo "Installing dev dependencies"
python -m pip install -r requirements-test.txt
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::endgroup::"
fi
}
lib::sanity::run() {
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::group::Running Sanity Checks"
fi
python -m black . --check
python -m isort . --check-only
python -m mypy .
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::endgroup::"
fi
}
lib::tests::run() {
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::group::Running Tests"
fi
python -m pytest \
-v \
--junitxml junit/test-results.xml \
--cov spnego \
--cov-report xml \
--cov-report term-missing
if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
echo "::endgroup::"
fi
}
|