#!/usr/bin/env bash
set -euo pipefail
remote="$1"
z40=0000000000000000000000000000000000000000
IFS=" "
while read local_ref local_sha remote_ref remote_sha
do
  if [ "$local_sha" = $z40 ]
  then
    # delete, do nothing
    continue
  elif [ "$remote_sha" = $z40 ]
  then
    # new branch, test all commits since ci was implemented
    range="11d95581fb178a5d21e88dfd8030a61886cc2519..$local_sha"
  else
    range="$remote_sha..$local_sha"
  fi
done
gitlint --commits "$range" lint
git test run --command ci "$range"
git push "$remote" refs/notes/ci --no-verify