diff --git a/job/README b/job/README
new file mode 100644
index 0000000..216ac2a
--- /dev/null
+++ b/job/README
@@ -0,0 +1,8 @@
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+This directory contains snippets that are to be run from Jenkins jobs
+
diff --git a/job/clean_filer_ws.sh b/job/clean_filer_ws.sh
new file mode 100755
index 0000000..2056cb6
--- /dev/null
+++ b/job/clean_filer_ws.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# Clean up filer work space if we had cloned the repository ourselves
+
+# On Jenkins v2, $SCRATCH_OWNER will be set to the job name and build number. If
+# that matches with that of the current job, then remove the scratch space.
+if [ "$SCRATCH_OWNER" = "${JOB_NAME:?}-${BUILD_NUMBER:?}" ]; then
+	rm -rf "${SCRATCH_OWNER_SPACE?:}"
+	exit 0
+fi
+
+# On Jenkins v1, $FILER_WS will be unset if we don't need to clean up
+if [ -z "$FILER_WS" ]; then
+	exit 0
+fi
+
+rm -rf "$FILER_WS"
diff --git a/job/tf-a-tests-master-sync/sync.sh b/job/tf-a-tests-master-sync/sync.sh
new file mode 100755
index 0000000..59ac052
--- /dev/null
+++ b/job/tf-a-tests-master-sync/sync.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+source "$CI_ROOT/utils.sh"
+
+# Clone TF-A Tests repo from tf.org.
+if [ ! -d "tf-a-tests" ]; then
+	git clone --origin tforg $tftf_src_repo_url
+	cd tf-a-tests
+	git remote add arm $tftf_arm_gerrit_repo
+else
+	cd tf-a-tests
+fi
+
+# Get the latest updates from the master branch on tf.org.
+git remote update --prune
+git checkout master
+git merge --ff-only tforg/master
+
+# Push updates to Arm internal Gerrit.
+git push arm master
diff --git a/job/tf-build-for-lava/build_test.sh b/job/tf-build-for-lava/build_test.sh
new file mode 100755
index 0000000..c16128e
--- /dev/null
+++ b/job/tf-build-for-lava/build_test.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+"$CI_ROOT/script/build_package.sh"
diff --git a/job/tf-ci-gateway/generate_report.sh b/job/tf-ci-gateway/generate_report.sh
new file mode 100755
index 0000000..c0f9a7a
--- /dev/null
+++ b/job/tf-ci-gateway/generate_report.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# Generate test report
+if [ "$CI_ROOT" ]; then
+	# Gather Coverity scan summary if it was performed as part of this job
+	if [ "$(find -maxdepth 1 -name '*coverity*.test' -type f | wc -l)" != 0 ]; then
+		if ! "$CI_ROOT/script/coverity_summary.py" "$BUILD_URL" > coverity.data; then
+			rm -f coverity.data
+		fi
+	fi
+
+	"$CI_ROOT/script/gen_test_report.py" \
+		--job "${worker_job:-tf-worker}" \
+		--build-job "${lava_job:-tf-build-for-lava}" \
+		--meta-data clone.data \
+		--meta-data override.data \
+		--meta-data inject.data \
+		--meta-data html:coverity.data \
+		|| true
+fi
diff --git a/job/tf-ci-gateway/generate_tests.sh b/job/tf-ci-gateway/generate_tests.sh
new file mode 100755
index 0000000..cc71b0b
--- /dev/null
+++ b/job/tf-ci-gateway/generate_tests.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# Generate test descriptions
+"$CI_ROOT/script/gen_test_desc.py"
diff --git a/job/tf-github-pr/should_run_nominations.sh b/job/tf-github-pr/should_run_nominations.sh
new file mode 100755
index 0000000..c2caab1
--- /dev/null
+++ b/job/tf-github-pr/should_run_nominations.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+nom_file="$WORKSPACE/nominations"
+rules_file="$CI_ROOT/script/trusted-firmware.nomination.py"
+if [ -f "$rules_file" ]; then
+	cd "$TF_CHECKOUT_LOC"
+	"$CI_ROOT/script/gen_nomination.py" "$rules_file" > "$nom_file"
+	if [ -s "$nom_file" ]; then
+		exit 0
+	else
+		# No nominations
+		exit 1
+	fi
+fi
+
+exit 1
diff --git a/job/tf-main/should_execute_static.sh b/job/tf-main/should_execute_static.sh
new file mode 100755
index 0000000..fccde1c
--- /dev/null
+++ b/job/tf-main/should_execute_static.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+if [ "$SKIP_STATIC" = "true" ]; then
+	exit 1
+else
+	exit 0
+fi
diff --git a/job/tf-merge-watcher/check_scratch.sh b/job/tf-merge-watcher/check_scratch.sh
new file mode 100755
index 0000000..173a742
--- /dev/null
+++ b/job/tf-merge-watcher/check_scratch.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+ci_root="$(readlink -f "$(dirname "$0")/../..")"
+source "$ci_root/utils.sh"
+
+if ! diff $project_filer/ci-scripts/ $ci_root/script/scratch_scripts/
+then
+	echo "scripts in scratch folder don't match scripts in repository" >&2
+	exit 1
+fi
diff --git a/job/tf-merge-watcher/update_reference_repo.sh b/job/tf-merge-watcher/update_reference_repo.sh
new file mode 100755
index 0000000..65fff79
--- /dev/null
+++ b/job/tf-merge-watcher/update_reference_repo.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+ci_root="$(readlink -f "$(dirname "$0")/../..")"
+source "$ci_root/utils.sh"
+
+declare -A repo_urls=(
+[pdcs-platforms/ap/tf-topics]="name=trusted-firmware url=$tf_src_repo_url"
+[trusted-firmware/tf-a-tests]="name=trusted-firmware-tf url=$tftf_src_repo_url"
+[pdswinf/ci/pdcs-platforms/platform-ci]="name=trusted-firmware-ci url=$tf_ci_repo_url"
+)
+
+project="${GERRIT_PROJECT:-$PROJECT}"
+eval "${repo_urls[$project]?}"
+ref_dir="$project_filer/ref-repos/$name"
+
+# Create/update reference repository.
+mkdir -p "$ref_dir"
+if [ ! -d "$ref_dir" ]; then
+	# Clone afresh
+	mkdir -p "$ref_dir"
+	git clone -q "$url" "$ref_dir"
+else
+	# Update master
+	cd "$ref_dir"
+	git fetch -q origin master
+	git reset -q --hard origin/master
+fi
+
+echo "Updated $name"
diff --git a/job/tf-optee-build/build_optee.sh b/job/tf-optee-build/build_optee.sh
new file mode 100755
index 0000000..4bf24c1
--- /dev/null
+++ b/job/tf-optee-build/build_optee.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+ci_root="$(readlink -f "$(dirname "$0")/../..")"
+source "$ci_root/utils.sh"
+
+cd optee
+make PLATFORM=vexpress PLATFORM_FLAVOR="${PLATFORM_FLAVOR:?}" CFG_ARM64_core=y
+
+# Remove header from tee.bin
+aarch64-linux-gnu-objcopy -O binary \
+	out/arm-plat-vexpress/core/tee.elf out/arm-plat-vexpress/core/tee.bin
+
+# Gather files to export in a single directory
+mkdir -p "$workspace/artefacts"
+cp out/arm-plat-vexpress/core/tee.bin "$workspace/artefacts"
diff --git a/job/tf-topics-master-sync/sync.sh b/job/tf-topics-master-sync/sync.sh
new file mode 100755
index 0000000..d2c741b
--- /dev/null
+++ b/job/tf-topics-master-sync/sync.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# $1 = git remote human readable name
+# $2 = git remote URL
+sync_repo()
+{
+	local result
+	echo Pushing to $1...
+	git push $2 master
+	result=$?
+	if [ $result != 0 ]
+	then
+		echo Pushing to $1 FAILED!
+	else
+		echo Pushing to $1 SUCCEEDED!
+	fi
+	return $result
+}
+
+# exit if anything fails
+set -e
+
+source "$CI_ROOT/utils.sh"
+
+if [ ! -d "trusted-firmware-a" ]
+then
+	# Fresh clone
+	echo Cloning from trustedfirmware.org...
+	git clone $tf_src_repo_url
+else
+	echo Using existing repo...
+fi
+
+echo Pulling from trustedfirmware.org...
+cd trusted-firmware-a
+git remote update --prune
+git checkout master
+git merge --ff-only origin/master
+
+# stop exiting automatically
+set +e
+
+sync_repo GitHub https://$GH_USER:$GH_PASSWORD@github.com/ARM-software/arm-trusted-firmware.git
+github=$?
+sync_repo "internal Arm Gerrit" $tf_arm_gerrit_repo
+gerrit=$?
+
+if [ $github != 0 -o $gerrit != 0 ]
+then
+	exit 1
+fi
diff --git a/job/tf-worker/generate_yaml.sh b/job/tf-worker/generate_yaml.sh
new file mode 100755
index 0000000..37a0ae0
--- /dev/null
+++ b/job/tf-worker/generate_yaml.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+if echo "$RUN_CONFIG" | grep -iq 'tftf'; then
+	payload_type="tftf"
+else
+	payload_type="linux"
+fi
+
+"$CI_ROOT/script/parse_lava_job.py" --payload-type "$payload_type"
diff --git a/job/tf-worker/is_juno_config.sh b/job/tf-worker/is_juno_config.sh
new file mode 100755
index 0000000..31affc9
--- /dev/null
+++ b/job/tf-worker/is_juno_config.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# If we're skipping LAVA or Juno
+if [ "$skip_juno" ] || [ "$skip_runs" ]; then
+	exit 1
+fi
+
+# For Juno runs, we need let the board download build artefacts using a URL. The
+# only way to have a board-accessible URL at the moment is to have build
+# artefacts archived. Therefore, only for Juno do we spawn the build as a
+# separate job; otherwise, we build within this job.
+if echo "$RUN_CONFIG" | grep -iq '^juno'; then
+	exit 0
+else
+	exit 1
+fi
diff --git a/job/tf-worker/manage_artefacts.sh b/job/tf-worker/manage_artefacts.sh
new file mode 100755
index 0000000..865afd9
--- /dev/null
+++ b/job/tf-worker/manage_artefacts.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+if [ -d artefacts ]; then
+	# Remove everything except logs
+	find artefacts -type f -not \( -name "*.log" \) -exec rm -f {} +
+fi
diff --git a/job/tf-worker/parse_test.sh b/job/tf-worker/parse_test.sh
new file mode 100755
index 0000000..fead3a7
--- /dev/null
+++ b/job/tf-worker/parse_test.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# Parse test config. This produces $workspace/env file
+$CI_ROOT/script/parse_test.sh
diff --git a/job/tf-worker/run_fvp_test.sh b/job/tf-worker/run_fvp_test.sh
new file mode 100755
index 0000000..2a62eab
--- /dev/null
+++ b/job/tf-worker/run_fvp_test.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# Build
+"$CI_ROOT/script/build_package.sh"
+
+if [ "$skip_runs" ]; then
+	exit 0
+fi
+
+# Execute test locally for FVP configs
+if [ "$RUN_CONFIG" != "nil" ] && echo "$RUN_CONFIG" | grep -iq '^fvp'; then
+	"$CI_ROOT/script/run_package.sh"
+fi
diff --git a/job/tf-worker/should_build_local.sh b/job/tf-worker/should_build_local.sh
new file mode 100755
index 0000000..5b47866
--- /dev/null
+++ b/job/tf-worker/should_build_local.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+# If it's a Juno build-only config, or an FVP config, we do everything locally
+if [ "$RUN_CONFIG" = "nil" ]; then
+	exit 0
+fi
+
+case "$RUN_CONFIG" in
+	fvp-*)
+		exit 0;;
+	coverity-*)
+		exit 0;;
+esac
+
+# If we're not going to run Juno, then no need to spawn tf-build-for lava;
+# build it locally.
+if [ "$skip_juno" ]; then
+	exit 0
+fi
+
+exit 1
diff --git a/job/tf-worker/submit_lava_job.sh b/job/tf-worker/submit_lava_job.sh
new file mode 100755
index 0000000..7b47e97
--- /dev/null
+++ b/job/tf-worker/submit_lava_job.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# Submit jobs to LAVA and wait until the job is complete. This script replace
+# the "managed script" previously used and provide the same behavior.
+#
+# Required arguments:
+# 1: yaml job file
+# 2: flag whether to save output, true/false, defaults to false
+#
+# output:
+# job_results.yaml
+# job_output.log if save output = true
+
+set -e
+
+JOB_FILE="$1"
+SAVE_OUTPUT="$2"
+
+LAVA_HOST=
+LAVA_USER=
+LAVA_TOKEN=
+LAVA_URL=
+
+if [ ! -f "${JOB_FILE}" ]; then
+	echo "error: LAVA job file does not exist: ${JOB_FILE}"
+	exit 1
+fi
+
+# Install lavacli with fixes
+virtualenv -p $(which python3) venv
+source venv/bin/activate
+pip install -q lavacli
+
+# Configure lavacli
+lavacli identities add \
+--username $LAVA_USER \
+--token $LAVA_TOKEN \
+--uri ${LAVA_URL}/RPC2 \
+default
+
+# Submit a job using lavacli
+JOB_ID=$(lavacli jobs submit ${JOB_FILE})
+if [ -z "$JOB_ID" ] ; then
+	echo "Couldn't submit. Stopping."
+	exit 1
+fi
+
+echo "Job url: https://lava.oss.arm.com/scheduler/job/$JOB_ID"
+
+# Wait for the job to finish
+lavacli jobs wait $JOB_ID
+
+if [ "${SAVE_OUTPUT}" = "true" ] ; then
+	lavacli jobs logs $JOB_ID > job_output.log
+fi
+
+# Get results
+lavacli results $JOB_ID --yaml > job_results.yaml
+
+# Exit virtualenv
+deactivate
diff --git a/job/trusted-firmware-main/should_execute_static.sh b/job/trusted-firmware-main/should_execute_static.sh
new file mode 100755
index 0000000..fccde1c
--- /dev/null
+++ b/job/trusted-firmware-main/should_execute_static.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -e
+
+if [ "$SKIP_STATIC" = "true" ]; then
+	exit 1
+else
+	exit 0
+fi
