Skip to content
Snippets Groups Projects
Commit c029e44d authored by Ed Morley's avatar Ed Morley Committed by Kenneth Reitz
Browse files

Improve UX when clearing cache due to the stack changing (#442)

* Test that the cache is invalidated when the stack changes

* Improve UX when clearing cache due to the stack changing

Now outputs a message informing that the cache was cleared, and
clears the cache first to avoid a redundant message about removing
an old Python version.
parent f74d4db8
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,11 @@ set +e
runtime-fixer runtime.txt
PYTHON_VERSION=$(cat runtime.txt)
# Install Python.
if [[ "$STACK" != "$CACHED_PYTHON_STACK" ]]; then
puts-step "Stack has changed from $CACHED_PYTHON_STACK to $STACK, clearing cache"
rm -fr .heroku/python-stack .heroku/python-version .heroku/python .heroku/vendor
fi
if [ -f .heroku/python-version ]; then
if [ ! "$(cat .heroku/python-version)" = "$PYTHON_VERSION" ]; then
puts-step "Found $(cat .heroku/python-version), removing"
......@@ -14,12 +18,6 @@ if [ -f .heroku/python-version ]; then
fi
fi
if [ ! "$STACK" = "$CACHED_PYTHON_STACK" ]; then
rm -fr .heroku/python .heroku/python-stack .heroku/vendor
unset SKIP_INSTALL
fi
if [ ! "$SKIP_INSTALL" ]; then
puts-step "Installing $PYTHON_VERSION"
......
......@@ -76,6 +76,15 @@ testSmartRequirements() {
assertCapturedSuccess
}
testStackChange() {
local cache_dir="$(mktmpdir)"
mkdir -p "${cache_dir}/.heroku"
echo "different-stack" > "${cache_dir}/.heroku/python-stack"
compile "requirements-standard" "$cache_dir"
assertCaptured "clearing cache"
assertFile "$STACK" ".heroku/python-stack"
assertCapturedSuccess
}
pushd $(dirname 0) >/dev/null
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment