packages/getmergebase.sh

28 lines
1022 B
Bash
Raw Normal View History

#!/bin/bash
# CI helper script to checkout the current packages.json and
# the version at the merge base to compare to.
set -e
# Repository and branch the PR will be merged into
targetRepository="https://github.com/$GITHUB_REPOSITORY"
targetBranch="$GITHUB_BASE_REF"
# Create a branch of the current repository state because actions/checkout
# leaves us with a detached HEAD
git branch merge-branch
# Backup the current packages.json because it will get overwritten by a
# checkout
cp packages.json packages.json.bak
# Fetch the merge target branch into a branch called "base"
git fetch "$targetRepository" "$targetBranch:base"
# Determine the last common commit (the merge base)
mergeBase="$(git merge-base merge-branch base)"
echo "Comparing against packages.json at $mergeBase"
# Checkout the package list at the branching point
git checkout "$mergeBase" packages.json
# PR version becomes packages.json and merge base becomes packages_old.json
mv packages.json packages_old.json
mv packages.json.bak packages.json