Arthur: update tf-sync-repos

Signed-off-by: Arthur She <arthur.she@linaro.org>
Change-Id: I91152e8783d54a5eb6c6af33896bbd472f9f68f5
diff --git a/ci/tf-sync-repos.sh b/ci/tf-sync-repos.sh
new file mode 100755
index 0000000..4658774
--- /dev/null
+++ b/ci/tf-sync-repos.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+set -e
+
+declare -A github_repo
+github_repo=(
+[TF-A/trusted-firmware-a]="TrustedFirmware-A/trusted-firmware-a"
+[TF-A/tf-a-tests]="TrustedFirmware-A/tf-a-tests"
+[ci/tf-a-ci-scripts]="TrustedFirmware-A/tf-a-ci-scripts"
+[TF-M/trusted-firmware-m]="TrustedFirmware-M/trusted-firmware-m"
+[TF-M/tf-m-tests]="TrustedFirmware-M/tf-m-tests"
+[TF-M/tf-m-tools]="TrustedFirmware-M/tf-m-tools"
+[TF-M/tf-m-extras]="TrustedFirmware-M/tf-m-extras"
+[hafnium/hafnium]="TF-Hafnium/hafnium"
+[hafnium/driver/linux]="TF-Hafnium/hafnium-driver-linux"
+[hafnium/prebuilts]="TF-Hafnium/hafnium-prebuilts"
+[hafnium/project/reference]="TF-Hafnium/hafnium-project-reference"
+[hafnium/third_party/dtc]="TF-Hafnium/hafnium-third_party-dtc"
+[hafnium/third_party/googletest]="TF-Hafnium/hafnium-third_party-googletest"
+[hafnium/third_party/linux]="TF-Hafnium/hafnium-third_party-linux"
+[ci/hafnium-job-configs]="TF-Hafnium/hafnium-job-configs"
+[ci/hafnium-ci-scripts]="TF-Hafnium/hafnium-ci-scripts"
+[sandbox/arthur]="arthur-she/sandbox"
+)
+
+if [ -z "${github_repo[${GERRIT_PROJECT}]}" ]; then
+    echo "Can not find GitHub repo for \"${GERRIT_PROJECT}\" Gerrit project!"
+    exit 1
+fi
+
+echo "GitHub repo: ${github_repo[${GERRIT_PROJECT}]}"
+
+cd proj_src
+gh_remote="https://${AUTH_TOKEN}@github.com/${github_repo[${GERRIT_PROJECT}]}"
+git remote add github ${gh_remote}
+git push --tags github master:main
+
diff --git a/tf-sync-repos.yaml b/tf-sync-repos.yaml
index a13b06a..ef0a7f6 100644
--- a/tf-sync-repos.yaml
+++ b/tf-sync-repos.yaml
@@ -3,32 +3,25 @@
     node: master
     project-type: freestyle
     concurrent: false
-    description: Mirror TF-M, TF-A, TS projects into GitHub
+    description: Mirror TF-M, TF-A, TS, and Hafnium projects into GitHub
     disabled: false
     builders:
     - shell: |-
-        #!/bin/bash -xe
-
-        echo ""
+        #!/bin/bash
         echo "########################################################################"
         echo "    Gerrit Environment"
         env |grep '^GERRIT'
         echo "########################################################################"
-
-        cd proj_src
-        ls -a
-        git remote show
-        git remote get-url origin
-        git branch
+    - shell: |-
+        bash "$CI_ROOT/ci/tf-sync-repos.sh"
     properties:
     - build-discarder:
         num-to-keep: 10
     scm:
         - git:
             url: https://review.trustedfirmware.org/${GERRIT_PROJECT}
-            refspec: ${GERRIT_REFSPEC}
             branches:
-                - ${GERRIT_BRANCH}
+                - master
             skip-tag: true
             clean:
                 before: true
@@ -48,7 +41,7 @@
             branch-pattern: master
         silent: true
         trigger-on:
-        - patchset-created-event
+        - ref-updated-event
     wrappers:
     - credentials-binding:
       - text: