Current section
Files
Jump to
Current section
Files
scripts/pre-release
#!/usr/bin/env bash
set -e
echo "making release"
if [[ "$OSTYPE" == "linux-gnu" ]];
then
major=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\1/g' | sed -r 's/ //g')
minor=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\2/g'| sed -r 's/ //g')
patch=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\3/g'| sed -r 's/ //g')
pre_release=$(cat mix.exs | grep "version: " | grep "-" | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-([0-9]*)",/\4/g'| sed -r 's/ //g')
echo "major: $major"
echo "minor: $minor"
echo "patch: $patch"
echo "pre-release: $pre_release"
if [ "$pre_release" == "" ]
then
next_pre_release="0"
prev_version="$major.$minor.$patch"
version="$major.$minor.$patch-$next_pre_release"
else
next_pre_release=$((pre_release+1))
echo "next pre release: $next_pre_release"
prev_version="$major.$minor.$patch-$pre_release"
echo "prev version: $prev_version"
version="$major.$minor.$patch-$next_pre_release"
echo "version: $version"
fi
echo "Updating version in mix file from ${prev_version} to ${version}"
if [ "$major.$minor.$patch" == ".." ]
then
echo "no prev version.. skipping"
else
sed -i "/version/s/$prev_version/$version/g" mix.exs
fi
elif [[ "$OSTYPE" == "darwin"* ]];
then
echo "DIY dear MACOS friend"
elif [[ "$OSTYPE" == "msys" ]];
then
major=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\1/g' | sed -r 's/ //g')
minor=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\2/g'| sed -r 's/ //g')
patch=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-?[0-9]*",/\3/g'| sed -r 's/ //g')
pre_release=$(cat mix.exs | grep "version: " | grep "-" | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)-([0-9]*)",/\4/g'| sed -r 's/ //g')
echo "major: $major"
echo "minor: $minor"
echo "patch: $patch"
echo "pre-release: $pre_release"
if [ "x$pre_release" == "x" ]
then
next_pre_release="0"
prev_version="$major.$minor.$patch"
version="$major.$minor.$patch-$next_pre_release"
else
next_pre_release=$((pre_release+1))
echo "next pre release: $next_pre_release"
prev_version="$major.$minor.$patch-$pre_release"
echo "prev version: $prev_version"
version="$major.$minor.$patch-$next_pre_release"
echo "version: $version"
fi
echo "Updating version in mix file from ${prev_version} to ${version}"
if [ "$major.$minor.$patch" == ".." ]
then
echo "no prev version.. skipping"
else
sed -i "/version/s/$prev_version/$version/g" mix.exs
fi
else
echo "We are on dishwasher. Can't start"
exit 1
fi
echo "Pushing git tag:"
git add mix.exs
git commit -m "Update version in mix.exs to $version"
git push origin master
git tag "v$version"
git push --tags