Sync Failed: Upstream and Downstream Commits don't match!

This commit is contained in:
Lup Yuen Lee 2024-12-21 13:27:54 +08:00
parent eec3e47893
commit c97560298d

View file

@ -45,87 +45,26 @@ popd
## Apply the Commit Patches to Downstream Repo ## Apply the Commit Patches to Downstream Repo
pushd downstream pushd downstream
## git am \ git am \
## $tmp_dir/commit.patch $tmp_dir/commit.patch
git status git status
popd popd
## Commit the Patched Downstream Repo ## Commit the Patched Downstream Repo
pushd downstream pushd downstream
## git push -f git push -f
popd popd
exit ## Verify that Upstream and Downstream Commits are identical
set +x ; echo "**** Updated Downstream Commit" ; set -x
pushd downstream
set +x ; echo "**** Waiting for Build to Complete then Ingest GitHub Actions Logs..." ; set -x git pull
pushd $script_dir/../ingest-nuttx-builds downstream_commit2=$(git rev-parse HEAD)
./github.sh ## https://github.com/lupyuen/ingest-nuttx-builds/blob/main/github.sh git --no-pager log -1
popd popd
## Repeat forever ## If Not Identical: We have a problem
for (( ; ; )); do if [[ "$downstream_commit2" != "$upstream_commit" ]]; then
set +x ; echo "**** Sync Failed: Upstream and Downstream Commits don't match!" ; set -x
set +x ; echo "**** Checking Downstream Commit: Enable macOS Builds..." ; set -x exit 1
pushd downstream fi
git pull
downstream_msg=$(git log -1 --format="%s")
if [[ "$downstream_msg" != "Enable macOS Builds"* ]]; then
set +x ; echo "**** ERROR: Expected Downstream Commit to be 'Enable macOS Builds' but found: $downstream_msg" ; set -x
exit 1
fi
popd
set +x ; echo "**** Watching for Updates to NuttX Repo..." ; set -x
## Get the Latest Upstream Commit.
pushd upstream
git pull
upstream_date=$(git log -1 --format="%cI")
git --no-pager log -1
popd
## Get the Latest Downstream Commit (skip the "Enable macOS Builds")
pushd downstream
downstream_date=$(git log -1 --format="%cI" HEAD~1)
git --no-pager log -1 HEAD~1
popd
## If No Updates: Try again
if [[ "$upstream_date" == "$downstream_date" ]]; then
set +x ; echo "**** Waiting for upstream updates..." ; set -x
date ; sleep 900
continue
fi
set +x ; echo "**** Discarding 'Enable macOS' commit from NuttX Mirror..." ; set -x
pushd downstream
git --no-pager log -1
git reset --hard HEAD~1
git status
git push -f
popd
sleep 10
set +x ; echo "**** Syncing NuttX Mirror with NuttX Repo..." ; set -x
gh repo sync NuttX/nuttx --force
pushd downstream
git pull
git status
git --no-pager log -1
popd
sleep 10
set +x ; echo "**** Building NuttX Mirror..." ; set -x
$script_dir/enable-macos-windows.sh ## https://github.com/lupyuen/nuttx-release/blob/main/enable-macos-windows.sh
set +x ; echo "**** Waiting for Build to start..." ; set -x
date ; sleep 900
set +x ; echo "**** Waiting for Build to Complete then Ingest GitHub Actions Logs..." ; set -x
pushd $script_dir/../ingest-nuttx-builds
./github.sh ## https://github.com/lupyuen/ingest-nuttx-builds/blob/main/github.sh
popd
set +x ; echo "**** Done!" ; set -x
date ; sleep 900
done