Last active
December 15, 2015 11:18
-
-
Save nullivex/5251500 to your computer and use it in GitHub Desktop.
LSS Package Release Scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
msg=$1 | |
commit() { | |
for line in $1; do | |
echo "Committing $line" | |
cd $line; | |
git commit -a -m "$2" | |
cd .. | |
done | |
} | |
if [ -z to_release ]; then | |
echo "Release file ./to_release doesnt exist; create it; one package per line" | |
exit | |
fi | |
if [ $(cat to_release | wc -l) -eq 0 ]; then | |
echo "No packages to push" | |
exit | |
fi | |
echo "Packages to be committed with message \"$msg\"" | |
to_release=$(cat to_release | grep -oP "[0-9a-z\-]+$") | |
echo -e "$to_release" | |
read -r -p "Are you sure? [Y/n] " response | |
case $response in | |
[yY][eE][sS]|[yY]) | |
commit "$to_release" "$msg" | |
exit | |
;; | |
*) | |
echo "Will not release" | |
exit | |
;; | |
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
push() { | |
for line in $1; do | |
echo "Pushing $line" | |
cd $line; | |
git push && git push --tags | |
cd .. | |
done | |
} | |
if [ -z to_release ]; then | |
echo "Release file ./to_release doesnt exist; create it; one package per line" | |
exit | |
fi | |
if [ $(cat to_release | wc -l) -eq 0 ]; then | |
echo "No packages to push" | |
exit | |
fi | |
echo "Packages to be pushed:" | |
to_release=$(cat to_release | grep -oP "[0-9a-z\-]+$") | |
echo -e "$to_release" | |
read -r -p "Are you sure? [Y/n] " response | |
case $response in | |
[yY][eE][sS]|[yY]) | |
push "$to_release" | |
exit | |
;; | |
*) | |
echo "Will not release" | |
exit | |
;; | |
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ -z to_release ]; then | |
echo "Release file ./to_release doesnt exist; create it; one package per line" | |
exit | |
fi | |
if [ $(cat to_release | wc -l) -eq 0 ]; then | |
echo "No packages to release" | |
exit | |
fi | |
echo "Packages to be released:" | |
to_release=$(cat to_release | grep -oP "[0-9a-z\-]+$") | |
echo -e "$to_release" | |
read -r -p "Are you sure? [Y/n] " response | |
case $response in | |
[yY][eE][sS]|[yY]) | |
echo -e "$to_release" | xargs -I{} ./release_pkg.sh {} | |
exit | |
;; | |
*) | |
echo "Will not release" | |
exit | |
;; | |
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
cd $1 | |
echo "Grabbing updates and merging" | |
git checkout master | |
git pull | |
git checkout 0.0.x-dev | |
changes=$(git rev-list --left-right --count master...HEAD | awk '{print $1'}) | |
if [ $changes -eq 0 ]; then | |
echo "No changes to release" | |
exit | |
fi | |
git merge master | |
version="0.0.$(expr $(git tag | grep -oP "\d+$" | sort -n | tail -1) + 1)" | |
echo "New Version $version" | |
git tag $version | |
git checkout master | |
git push && git push --tags | |
echo "Done" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
packagename | |
packagename | |
packagename |
Added more scripts for commiting and pushing mass amounts of repos.
Also made the grep fixes for to_release better so the following works.
ls -l | grep lib > to_release
./autorelease.sh
Changed release package to correctly handle versions greater than 10.
Also changed it to not release when there are no changes in master.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Put these scripts into your ~/lss folder where the sub folders all all packages
Example tree:
Then edit the "to_release" file and add 1 package name per line that will be released.