create a common history for generated code branches (#782)

* create a common history for generated code branches

* fetch first

* hmm

* try github.head_ref

* fix divergent history issue

* Compute the base branch properly

* chck

* chk
This commit is contained in:
Russell Cohen 2021-10-19 17:27:30 -04:00 committed by GitHub
parent ab814219a4
commit 64a9d925ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -71,7 +71,7 @@ jobs:
id: branch_output
- uses: actions/github-script@v5
# NOTE: if comments on each commit become bothersome, add a check that github.event.pull_request.action == "opened"
if: ${{ env.GITHUB_HEAD_REF }} != null
if: ${{ github.head_ref != null }}
with:
script: |
await github.rest.issues.createComment({

View File

@ -15,16 +15,23 @@ set -e
{
git diff --quiet || (echo 'working tree not clean, aborting' && exit 1)
gh_branch=${GITHUB_HEAD_REF##*/}
echo "Loaded branch from GitHub: $gh_branch ($GITHUB_HEAD_REF)"
base_branch=${GITHUB_BASE_REF##*/}
if [ -n "$base_branch" ]; then
base_branch=__generated-$base_branch
else
base_branch=__generated__
fi
echo "Loaded branch from GitHub: $gh_branch ($GITHUB_HEAD_REF). Base branch: $base_branch"
current_branch="${gh_branch:-$(git rev-parse --abbrev-ref HEAD)}"
echo "Current branch resolved to: $current_branch"
gen_branch="__generated-$current_branch"
git branch -D "$gen_branch" || echo "no branch named $gen_branch yet"
repo_root=$(git rev-parse --show-toplevel)
cd "$repo_root" && ./gradlew :aws:sdk:assemble
target="$(mktemp -d)"
mv "$repo_root"/aws/sdk/build/aws-sdk "$target"
git checkout --orphan "$gen_branch"
# checkout and reset $gen_branch to be based on the __generated__ history
git fetch origin "$base_branch"
git checkout -B "$gen_branch" origin/"$base_branch"
cd "$repo_root" && git rm -rf .
rm -rf "$repo_root/aws-sdk"
mv "$target"/aws-sdk "$repo_root"/.