# 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:34ecdc8775563915792e05ba9d921342808ae2dc

@Subdir cipd_bin_packages
infra/3pp/tools/git/linux-amd64                  version:2@2.36.0-rc2.chromium.8
infra/3pp/tools/git/linux-arm64                  version:2@2.36.0-rc2.chromium.8
infra/3pp/tools/git/linux-armv6l                 version:2@2.36.0-rc2.chromium.8
infra/3pp/tools/git/mac-amd64                    version:2@2.36.0-rc2.chromium.8
infra/3pp/tools/git/windows-386                  version:2@2.35.3.chromium.8
infra/3pp/tools/git/windows-amd64                version:2@2.35.3.chromium.8
infra/gsutil                                     version:4.46
infra/tools/git/${platform}                      git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci-auth/${platform}                git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/git-credential-luci/${platform} git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/isolate/${platform}             git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/isolated/${platform}            git_revision:dc3a3dc4272aeef30698752d137ccd4f09526d69
infra/tools/luci/lucicfg/${platform}             git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/swarming/${platform}            git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/vpython/${platform}             git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
infra/tools/luci/vpython-native/${platform}      git_revision:34ecdc8775563915792e05ba9d921342808ae2dc
skia/tools/goldctl/${platform}                   git_revision:34ecdc8775563915792e05ba9d921342808ae2dc

@subdir cipd_bin_packages/cpython
infra/3pp/tools/cpython/linux-amd64              version:2@2.7.18.chromium.42
infra/3pp/tools/cpython/linux-arm64              version:2@2.7.18.chromium.42
infra/3pp/tools/cpython/linux-armv6l             version:2@2.7.18.chromium.42
infra/3pp/tools/cpython/mac-amd64                version:2@2.7.18.chromium.42
infra/3pp/tools/cpython/windows-386              version:2@2.7.18.chromium.42
infra/3pp/tools/cpython/windows-amd64            version:2@2.7.18.chromium.42

@subdir cipd_bin_packages/cpython3
infra/3pp/tools/cpython3/linux-amd64             version:2@3.8.10.chromium.19
infra/3pp/tools/cpython3/linux-arm64             version:2@3.8.10.chromium.19
infra/3pp/tools/cpython3/linux-armv6l            version:2@3.8.10.chromium.19
infra/3pp/tools/cpython3/mac-amd64               version:2@3.8.10.chromium.19
infra/3pp/tools/cpython3/windows-386             version:2@3.8.10.chromium.19
infra/3pp/tools/cpython3/windows-amd64           version:2@3.8.10.chromium.19

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