build/sync.sh
nyyu 3941420208
All checks were successful
continuous-integration/drone Build is passing
exclude lineage infra from changelog
2022-08-22 21:15:44 +02:00

32 lines
928 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 [[ "${folder}" != lineage/* && "${before[${folder}]}" != "${commit}" ]]; then
cd "${folder}" || continue
{
echo "## ${folder}"
git --no-pager log --pretty=format:"- %s" "${before[${folder}]}".."${commit}"
echo
} >>"${changelog}"
cd "${TOPDIR}" || continue
fi
done
echo -e "\n" >>"${changelog}"
cat "${changelog}"