1
0
Fork 0
i237/tooling/package-and-deliver.sh

52 lines
876 B
Bash
Executable File

#!/bin/bash
echo "Test project build"
make clean && make
if [ $? -ne 0 ] ; then
echo "Build failed!"
exit 1
else
echo "Build OK!"
fi
echo "Format code"
make format
# Test if there are changed files that are not commited
if [ -n "$(git status --porcelain)" ] ; then
echo "Uncommited files detected"
git status
exit 1
else
echo "OK"
fi
echo "Currently set tags on this project"
git tag
echo -n "Are the required tags added? (Y/n)"
read ANSWER
if [ "$ANSWER" == "n" ]; then
echo "Please add required tags"
exit 1
fi
echo "Packaging the project"
make clean && make
TEMP_DIR=$(mktemp -d)
cp bin/atmega2560-user-code.ihx $TEMP_DIR
make clean
git archive --format=tar.gz -o $TEMP_DIR/$(git describe --abbrev=6 --dirty --always --tags --long).tar.gz HEAD
mv $TEMP_DIR/* bin/
rm -rf $TEMP_DIR
echo "Project packaging succeeded"
exit 0