diff --git a/recipes/jiri.expected/ci.json b/recipes/jiri.expected/ci.json
index 77f11b7..97c5d1f 100644
--- a/recipes/jiri.expected/ci.json
+++ b/recipes/jiri.expected/ci.json
@@ -41,6 +41,7 @@
     "cmd": [
       "[START_DIR]/cipd/jiri/jiri",
       "import",
+      "-overwrite=true",
       "jiri",
       "https://fuchsia.googlesource.com/manifest"
     ],
@@ -50,7 +51,8 @@
     "cmd": [
       "[START_DIR]/cipd/jiri/jiri",
       "project",
-      "clean"
+      "clean",
+      "-branches=true"
     ],
     "name": "jiri project clean"
   },
@@ -113,33 +115,108 @@
     "stdout": "/path/to/tmp/"
   },
   {
+    "cmd": [],
+    "name": "ensure_packages"
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "--root",
+      "[START_DIR]/cipd",
+      "--list",
+      "fuchsia/tools/cmake/${platform} latest\nfuchsia/tools/ninja/${platform} latest",
+      "--json-output",
+      "/path/to/tmp/json"
+    ],
+    "name": "ensure_packages.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/cmake/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }, @@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/ninja/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+      "511"
+    ],
+    "name": "makedirs build",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
+      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
+      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
+      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
+      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
+      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
+      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
+      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/bin/cmake",
+      "-GNinja",
+      "-DCMAKE_BUILD_PROGRAM=[START_DIR]/cipd/ninja",
+      "-DCMAKE_BUILD_TYPE=RelWithDebInfo",
+      "-DCMAKE_C_FLAGS=-fPIC",
+      "-DTHREADSAFE=ON",
+      "-DBUILD_CLAR=OFF",
+      "-DBUILD_SHARED_LIBS=OFF",
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2"
+    ],
+    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+    "name": "configure libgit2"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja"
+    ],
+    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+    "name": "build libgit2"
+  },
+  {
     "cmd": [
       "[START_DIR]/cipd/go/bin/go",
-      "build",
+      "build jiri",
       "-ldflags",
       "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=deadbeef\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=2016-10-11 14:40:25-07:00\"",
       "-a",
       "fuchsia.googlesource.com/jiri/cmd/jiri"
     ],
     "env": {
-      "GOARCH": "amd64",
-      "GOOS": "linux",
       "GOPATH": "[START_DIR]/go",
       "GOROOT": "[START_DIR]/cipd/go"
     },
-    "name": "go build"
+    "name": "go build jiri"
   },
   {
     "cmd": [
       "[START_DIR]/cipd/go/bin/go",
-      "test",
+      "test jiri",
       "fuchsia.googlesource.com/jiri/cmd/jiri"
     ],
     "env": {
       "GOPATH": "[START_DIR]/go",
       "GOROOT": "[START_DIR]/cipd/go"
     },
-    "name": "go test"
+    "name": "go test jiri"
   },
   {
     "name": "$result",
diff --git a/recipes/jiri.expected/cq_try.json b/recipes/jiri.expected/cq_try.json
index ef1a07f..c0777c8 100644
--- a/recipes/jiri.expected/cq_try.json
+++ b/recipes/jiri.expected/cq_try.json
@@ -41,6 +41,7 @@
     "cmd": [
       "[START_DIR]/cipd/jiri/jiri",
       "import",
+      "-overwrite=true",
       "jiri",
       "https://fuchsia.googlesource.com/manifest"
     ],
@@ -50,7 +51,8 @@
     "cmd": [
       "[START_DIR]/cipd/jiri/jiri",
       "project",
-      "clean"
+      "clean",
+      "-branches=true"
     ],
     "name": "jiri project clean"
   },
@@ -123,33 +125,108 @@
     "stdout": "/path/to/tmp/"
   },
   {
+    "cmd": [],
+    "name": "ensure_packages"
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "--root",
+      "[START_DIR]/cipd",
+      "--list",
+      "fuchsia/tools/cmake/${platform} latest\nfuchsia/tools/ninja/${platform} latest",
+      "--json-output",
+      "/path/to/tmp/json"
+    ],
+    "name": "ensure_packages.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/cmake/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }, @@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"package\": \"fuchsia/tools/ninja/${platform}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+      "511"
+    ],
+    "name": "makedirs build",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
+      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
+      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
+      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
+      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
+      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
+      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
+      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/bin/cmake",
+      "-GNinja",
+      "-DCMAKE_BUILD_PROGRAM=[START_DIR]/cipd/ninja",
+      "-DCMAKE_BUILD_TYPE=RelWithDebInfo",
+      "-DCMAKE_C_FLAGS=-fPIC",
+      "-DTHREADSAFE=ON",
+      "-DBUILD_CLAR=OFF",
+      "-DBUILD_SHARED_LIBS=OFF",
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2"
+    ],
+    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+    "name": "configure libgit2"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja"
+    ],
+    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
+    "name": "build libgit2"
+  },
+  {
     "cmd": [
       "[START_DIR]/cipd/go/bin/go",
-      "build",
+      "build jiri",
       "-ldflags",
       "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=deadbeef\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=2016-10-11 14:40:25-07:00\"",
       "-a",
       "fuchsia.googlesource.com/jiri/cmd/jiri"
     ],
     "env": {
-      "GOARCH": "amd64",
-      "GOOS": "linux",
       "GOPATH": "[START_DIR]/go",
       "GOROOT": "[START_DIR]/cipd/go"
     },
-    "name": "go build"
+    "name": "go build jiri"
   },
   {
     "cmd": [
       "[START_DIR]/cipd/go/bin/go",
-      "test",
+      "test jiri",
       "fuchsia.googlesource.com/jiri/cmd/jiri"
     ],
     "env": {
       "GOPATH": "[START_DIR]/go",
       "GOROOT": "[START_DIR]/cipd/go"
     },
-    "name": "go test"
+    "name": "go test jiri"
   },
   {
     "name": "$result",
diff --git a/recipes/jiri.py b/recipes/jiri.py
index c840de9..851f88a 100644
--- a/recipes/jiri.py
+++ b/recipes/jiri.py
@@ -9,12 +9,14 @@
 
 
 DEPS = [
+  'infra/cipd',
   'infra/jiri',
   'infra/git',
   'infra/go',
   'recipe_engine/path',
   'recipe_engine/properties',
   'recipe_engine/raw_io',
+  'recipe_engine/shutil',
   'recipe_engine/step',
 ]
 
@@ -37,8 +39,8 @@
   api.jiri.ensure_jiri()
 
   api.jiri.init()
-  api.jiri.import_manifest(manifest, remote)
-  api.jiri.clean_project()
+  api.jiri.import_manifest(manifest, remote, overwrite=True)
+  api.jiri.clean_project(branches=True)
   api.jiri.update(gc=True)
 
   if patch_ref is not None:
@@ -46,9 +48,12 @@
 
   api.go.ensure_go()
 
-  gitdir = api.path['start_dir'].join(
+  jiri_dir = api.path['start_dir'].join(
       'go', 'src', 'fuchsia.googlesource.com', 'jiri')
-  with api.step.context({'cwd': gitdir}):
+  git2go_dir = jiri_dir.join('vendor', 'github.com', 'libgit2', 'git2go')
+  libgit2_dir = git2go_dir.join('vendor', 'libgit2')
+
+  with api.step.context({'cwd': jiri_dir}):
     git_commit = api.git.get_hash()
   result = api.step('date', ['date', '--rfc-3339=seconds'],
       stdout=api.raw_io.output(),
@@ -58,14 +63,37 @@
 
   ldflags = "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=%s\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=%s\"" % (git_commit, build_time)
   gopath = api.path['start_dir'].join('go')
-  goos, goarch = target.split("-", 2)
 
-  with api.step.context({'env': {'GOPATH': gopath, 'GOOS': goos, 'GOARCH': goarch}}):
-    api.go('build', '-ldflags', ldflags, '-a',
+  with api.step.nest('ensure_packages'):
+    with api.step.context({'infra_step': True}):
+      cipd_dir = api.path['start_dir'].join('cipd')
+      api.cipd.ensure(cipd_dir, {
+        'fuchsia/tools/cmake/${platform}': 'latest',
+        'fuchsia/tools/ninja/${platform}': 'latest',
+      })
+
+  build_dir = libgit2_dir.join('build')
+  api.shutil.makedirs('build', build_dir)
+  with api.step.context({'cwd': build_dir}):
+    api.step('configure libgit2', [
+      cipd_dir.join('bin', 'cmake'),
+      '-GNinja',
+      '-DCMAKE_BUILD_PROGRAM=%s' % cipd_dir.join('ninja'),
+      '-DCMAKE_BUILD_TYPE=RelWithDebInfo',
+      '-DCMAKE_C_FLAGS=-fPIC',
+      '-DTHREADSAFE=ON',
+      '-DBUILD_CLAR=OFF',
+      '-DBUILD_SHARED_LIBS=OFF',
+      libgit2_dir,
+    ])
+    api.step('build libgit2', [cipd_dir.join('ninja')])
+
+  with api.step.context({'env': {'GOPATH': gopath}}):
+    api.go('build jiri', '-ldflags', ldflags, '-a',
            'fuchsia.googlesource.com/jiri/cmd/jiri')
 
   with api.step.context({'env': {'GOPATH': gopath}}):
-    api.go('test', 'fuchsia.googlesource.com/jiri/cmd/jiri')
+    api.go('test jiri', 'fuchsia.googlesource.com/jiri/cmd/jiri')
 
 
 def GenTests(api):
