Created
November 17, 2023 15:10
-
-
Save cfriedt/817d88b96256020649a33f32487e114c to your computer and use it in GitHub Desktop.
zephyr-release-stats.sh
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 | |
set -e | |
# usage: | |
# ./zephyr-release-stats.sh | tee zephyr-release-stats.csv | |
cd $HOME/zephyrproject/zephyr | |
RELEASES=( v2.0.0 v2.1.0 v2.2.0 v2.3.0 v2.4.0 v2.5.0 v2.6.0 v2.7.0 v3.0.0 v3.1.0 v3.2.0 v3.3.0 v3.4.0 v3.5.0 ) | |
N=${#RELEASES[@]} | |
echo "Previous,Current,StartCommit,EndCommit,CommitCount,Architectures,Boards,UniqueContributors" | |
for ((i=1; i<N; i++)); do | |
j=$((i-1)) | |
PREV=${RELEASES[j]} | |
REL=${RELEASES[i]} | |
START=$(git rev-parse --short $PREV) | |
END=$(git rev-parse --short $REL~1) | |
COUNT=$(git rev-list --count $START..$END) | |
git checkout $END &>/dev/null | |
ARCHES=$(ls arch/*/Kconfig | wc -l) | |
# +1 for x86_64 | |
ARCHES=$((ARCHES+1)) | |
# +1 for riscv64 | |
ARCHES=$((ARCHES+1)) | |
BOARDS=$(find boards -name '*_defconfig' | wc -l) | |
TMPFILE=$(mktemp) | |
git log $START..$END | grep Signed | sort -u > $TMPFILE | |
UNIQUE=$(wc -l $TMPFILE | awk '{print $1}') | |
rm -f $TMPFILE | |
echo "$PREV,$REL,$START,$END,$COUNT,$ARCHES,$BOARDS,$UNIQUE" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment