Skip to content

Commit

Permalink
Enhance update truth data workflow to create a uniquely named branch …
Browse files Browse the repository at this point in the history
…to update *-ref branches and commit/append to a log file that tracks the reasons for updating the truth data. This is done to ensure that the *-ref branch testing workflow run that actually updates the truth data is always run even if there are no other changes to the METplus branch since the last update, e.g. when a change to another component like MET warrants the truth data update
  • Loading branch information
georgemccabe committed May 23, 2024
1 parent af32ef8 commit fad726e
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion .github/workflows/update_truth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ jobs:
fetch-depth: 0
token: ${{ secrets.METPLUS_BOT_TOKEN }}
- name: Resolve conflicts between branch and branch-ref
id: resolve_conflicts
run: |
branch_name=${{ env.branch_name }}
cd ${GITHUB_WORKSPACE}
Expand All @@ -43,17 +44,43 @@ jobs:
echo ${branch_name}-ref does exist -- update it
git config --global user.name "metplus-bot"
git config --global user.email "[email protected]"
# checkout branch (develop or main_vX.Y)
echo git checkout ${branch_name}
git checkout ${branch_name}
# merge -ref branch into branch (favoring branch changes)
echo git merge -s ours origin/${branch_name}-ref
git merge -s ours origin/${branch_name}-ref
# push changes to branch (develop or main_vX.Y)
echo git push origin ${branch_name}
git push origin ${branch_name}
# create unique branch name to update *-ref branch
update_branch=update_${branch_name}_$(uuidgen | cut -d "-" -f1)
echo "update_branch=${update_branch}" >> $GITHUB_OUTPUT
# create update branch from branch (develop or main_vX.Y)
echo git checkout -b ${update_branch}
git checkout -b ${update_branch}
# create or append to file to track truth data changes
# and ensure that PR merge into *-ref branch triggered testing workflow
change_log_path=.github/update_truth_change_log.txt
change_entry="[$(date +%Y%m%d_%H:%M:%S) ${branch_name}] ${{ github.event.inputs.pull_requests }} - ${{ github.event.inputs.change_summary }}"
echo "${change_entry}" >> ${change_log_path}
echo git commit ${change_log_path}
git commit -m "added entry to update truth change log: ${branch_name} ${{ github.event.inputs.pull_requests }}" ${change_log_path}
cmd="git push origin ${update_branch}"
echo $cmd
$cmd
# create pull request from $HEAD into $BASE
- name: Create Pull Request
run: gh pr create --base $BASE --body "$BODY" --title "$TITLE"
run: gh pr create --head $HEAD --base $BASE --body "$BODY" --title "$TITLE"
env:
GH_TOKEN: ${{ github.token }}
HEAD: ${{ steps.resolve_conflicts.outputs.update_branch }}
BASE: ${{ env.branch_name }}-ref
BODY: ${{ github.event.inputs.change_summary }}<br/>Created by @${{ github.actor}}
TITLE: Update ${{ env.branch_name }}-ref after ${{ github.event.inputs.pull_requests }}

0 comments on commit fad726e

Please sign in to comment.