Skip to content

Instantly share code, notes, and snippets.

@jkwiecien
Last active June 7, 2017 09:25
Show Gist options
  • Save jkwiecien/f2cfc292ee45acf6a11c393ef5a8efaa to your computer and use it in GitHub Desktop.
Save jkwiecien/f2cfc292ee45acf6a11c393ef5a8efaa to your computer and use it in GitHub Desktop.
Crashlytics release notes generator bash script
PROJECT_DIR=~/Documents/viktklubb-android
NO_CHANGES_MESSAGE="Apparently nothing was changed. Probably just redeploy."
DATE_FILE="latest_released_commit_date.txt"
RELEASE_NOTES_FILE="release_notes.txt"
NOTE_FORMAT=format:"%an: %s"
get_latest_saved_date() {
head -n1 $DATE_FILE
}
get_latest_commit_date() {
git -C $PROJECT_DIR log --pretty=format:"%ad" --date=local -1
}
is_latest_date_saved() {
if [ ! -f "$DATE_FILE" ]; then
# echo "File not found!"
return 0
else
# echo "File exist"
return 1
fi
}
is_nothing_added() {
date_saved=$(get_latest_saved_date)
latest_date=$(get_latest_commit_date)
echo "Saved date: $date_saved"
echo "Latet date: $latest_date"
if [ $date_saved == $latest_date ]; then
return 1
else
return 0
fi
}
is_latest_date_saved
date_saved=$?
if [ $date_saved == 1 ]; then
nothing_added=is_nothing_added
if [ $nothing_added == 0 ]; then
latest_released_commit_date=$(get_latest_saved_date)
git -C "$PROJECT_DIR" log --pretty="$NOTE_FORMAT" --date=local --since="$latest_released_commit_date" > "$RELEASE_NOTES_FILE"
else
echo "$NO_CHANGES_MESSAGE" > "$RELEASE_NOTES_FILE"
fi
else
git -C "$PROJECT_DIR" log --pretty="$NOTE_FORMAT" --date=local -10 > "$RELEASE_NOTES_FILE"
fi
git -C "$PROJECT_DIR" log --pretty=format:"%ad" --date=local -1 > "$DATE_FILE"
echo "Latest commit on: $(get_latest_commit_date)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment