Browse Source

Merge pull request #5530 from nextcloud/better-dev-changelogs

Improve dev edition changelog generation
Tobias Kaminsky 5 years ago
parent
commit
6d6d8898cd
1 changed files with 22 additions and 2 deletions
  1. 22 2
      scripts/buildDev

+ 22 - 2
scripts/buildDev

@@ -33,13 +33,33 @@ mv latest.apk ~/apks/
 /bin/ls -t ~/apks/*.apk | awk 'NR>6' | xargs rm -f
 
 lastBuildTime=$(date --date="$(git log -1 --format=%ai $(git tag | grep dev | tail -n1))" +%s)
-changelog=$(git log --after=$lastBuildTime --pretty=oneline --abbrev-commit)
+# Show only the commit subject in the changelog and filter out:
+#  * Merges
+#  * Dependabot commits
+#  * Commits touching only non-user-facing stuff like tests
+#  * Version bump commits
+changelog=$(git log --no-merges --after=$lastBuildTime --invert-grep --author=dependabot --pretty='format:%s' -- ':!src/androidTest' ':!.*' ':!scripts/analysis' | grep -vE '^daily dev [[:digit:]]{8}$')
+# Make Transifex updates have a nicer description
+if echo "$changelog" | grep -q 'tx-robot'; then
+	changelog=$(echo "$changelog" | grep -v 'tx-robot')
+	# This is a funky bashism - preceding a single-quote string with $ lets you put escape chars in it
+	changelog="${changelog}"$'\nUpdate translations'
+fi
 
 libraryCommit=$(curl https://api.github.com/repos/nextcloud/android-library/commits/master | jq .sha | sed s'/\"//g')
 
+# Check if the library was updated
+if ! grep -q libraryCommit build.gradle; then
+	changelog="${changelog}"$'\nUpdate Nextcloud Android library'
+fi
+
+# Collapse dependency updates into a single "Update dependencies" entry
+if git log --after=$lastBuildTime --pretty='format:%an' | grep -q dependabot; then
+	changelog="${changelog}"$'\nUpdate 3rd-party dependencies'
+fi
+
 # changelog
 echo "$changelog" > src/versionDev/fastlane/metadata/android/en-US/changelogs/$date.txt
-echo "library commit: $libraryCommit" >> src/versionDev/fastlane/metadata/android/en-US/changelogs/$date.txt
 
 # build
 sed -i s"# androidLibraryVersion.*#androidLibraryVersion =\"$libraryCommit\"#" build.gradle