Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 1 | - job: |
| 2 | name: arthur-sync-qa-tools |
| 3 | node: docker-amd64-tf-a-jammy |
| 4 | project-type: freestyle |
| 5 | concurrent: false |
| 6 | description: Sync qa-tools from arm Gitlab to TF Gerrit |
| 7 | disabled: false |
| 8 | parameters: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 9 | - string: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 10 | name: GITLAB_REPO |
Arthur She | 0c522e9 | 2025-04-29 21:19:21 -0700 | [diff] [blame] | 11 | default: 'https://gitlab.arm.com/tooling/qa-tools.git' |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 12 | description: "Source repository, default is qa-tools arm gitlab repo" |
| 13 | - string: |
| 14 | name: SYNC_BRANCH |
| 15 | default: 'master' |
| 16 | description: "The branch to sync" |
Arthur She | 0c522e9 | 2025-04-29 21:19:21 -0700 | [diff] [blame] | 17 | - string: |
| 18 | name: GERRIT_PROJECT |
| 19 | default: 'https://review.trustedfirmware.org/sandbox/arthur/qa-tools' |
| 20 | description: "Destination repository, default is qa-tools Gerrit project" |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 21 | properties: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 22 | - build-discarder: |
| 23 | num-to-keep: 30 |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 24 | publishers: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 25 | - email: |
| 26 | recipients: 'arthur.she@linaro.org' |
| 27 | # triggers: |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 28 | # - timed: '59 23 * * 7' |
| 29 | wrappers: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 30 | - workspace-cleanup |
| 31 | - timestamps |
| 32 | - credentials-binding: |
| 33 | - ssh-user-private-key: |
| 34 | credential-id: TFA_CI_BOT_USER_SSH_KEY |
| 35 | key-file-variable: CI_BOT_KEY |
| 36 | username-variable: CI_BOT_USERNAME |
| 37 | passphrase-variable: '' |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 38 | |
| 39 | builders: |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 40 | - shell: |- |
| 41 | #!/bin/bash |
Arthur She | 3b5e98f | 2025-04-29 22:28:33 -0700 | [diff] [blame] | 42 | set -x |
Arthur She | ef2bf17 | 2025-04-29 09:43:48 -0700 | [diff] [blame] | 43 | |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 44 | SSH_PARAMS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PubkeyAcceptedKeyTypes=+ssh-rsa -p 29418 -i ${CI_BOT_KEY}" |
| 45 | host=${GERRIT_PROJECT#*://} |
| 46 | GERRIT_HOST=${host%%/*} |
| 47 | REPO_PROJECT=${host#*/} |
| 48 | REPO_SSH_URL="ssh://${CI_BOT_USERNAME}@${GERRIT_HOST}:29418/${REPO_PROJECT}" |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 49 | |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 50 | _workdir=$(mktemp -d) |
| 51 | trap '[ -d "${_workdir}" ] && rm -rf "${_workdir}"' EXIT |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 52 | |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 53 | git -C "${_workdir}" init > /dev/null 2>&1 |
Arthur | 0bf47fe | 2025-04-29 09:20:07 -0700 | [diff] [blame] | 54 | |
Arthur She | 572b7e7 | 2025-04-29 10:05:50 -0700 | [diff] [blame] | 55 | echo "Fetch ${GITLAB_REPO}:${SYNC_BRANCH}" |
| 56 | git -C "${_workdir}" fetch ${GITLAB_REPO} ${SYNC_BRANCH} |
| 57 | echo "Sync to ${GERRIT_PROJECT}" |
Arthur She | 3b5e98f | 2025-04-29 22:28:33 -0700 | [diff] [blame] | 58 | GIT_SSH_COMMAND="ssh ${SSH_PARAMS}" git -C "${_workdir}" push ${REPO_SSH_URL} FETCH_HEAD:refs/heads/${SYNC_BRANCH} |