build/sync.sh
2022-08-22 19:02:23 +02:00

32 lines
872 B
Bash

#!/bin/bash
TOPDIR=$(pwd)
changelog=${TOPDIR}/changelog_${device}_${version}.md
declare -A before
tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse HEAD)"'))
for i in "${tmp[@]}"; do
IFS=: read -r folder commit <<<"${i}"
before[${folder}]=${commit}
done
repo sync -q -c -j 6 --fail-fast --force-sync --no-tags
echo -e "# Build $(date '+%Y-%m-%d %H:%M:%S') UTC\n" >>"${changelog}"
tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse HEAD)"'))
for i in "${tmp[@]}"; do
IFS=: read -r folder commit <<<"${i}"
if [[ "${before[${folder}]}" != "${commit}" ]]; then
cd ${folder}
{
echo "## ${folder}"
git --no-pager log --pretty=format:"- %s" "${before[${folder}]}".."${commit}"
echo
} >>"${changelog}"
cd ${TOPDIR}
fi
done
echo -e "\n" >>"${changelog}"
cat "${changelog}"