# This file specifies the CIPD packages and versions used in this repo.
# Note that there are packages for multiple platforms here which may clobber
# each other. Therefore, if you plan to "cipd ensure" this file, you will need
# to first strip out the packages you don't want. For an example, see
# kube/build_base_cipd_release, which should be updated if new platforms are
# added here.

# The CIPD server to use.
$ServiceURL https://chrome-infra-packages.appspot.com/

# This is the cipd client itself
infra/tools/cipd/${os}-${arch}  git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a

@Subdir cipd_bin_packages
infra/3pp/tools/git/linux-amd64                  version:2.27.0.chromium.6
infra/3pp/tools/git/linux-arm64                  version:2.27.0.chromium.6
infra/3pp/tools/git/mac-amd64                    version:2.27.0.chromium.6
infra/3pp/tools/git/windows-386                  version:2.27.0.chromium.6
infra/3pp/tools/git/windows-amd64                version:2.27.0.chromium.6
infra/gsutil                                     version:4.46
infra/3pp/tools/cpython/${platform}              version:2.7.17.chromium.24
infra/tools/git/${platform}                      git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci-auth/${platform}                git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci/git-credential-luci/${platform} git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci/isolate/${platform}             git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci/isolated/${platform}            git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci/swarming/${platform}            git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
infra/tools/luci/vpython/${platform}             git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
skia/tools/goldctl/${platform}                   git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a

@Subdir
infra/tools/luci/kitchen/${platform}    git_revision:dcbc469e851f0c1d88af53f1b4fc552125ee847a
