# 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:14be8b751c0fb567535f520f8a7bc60c3f40b378

@Subdir cipd_bin_packages
infra/3pp/tools/git/linux-amd64                  version:2.29.2.chromium.6
infra/3pp/tools/git/linux-arm64                  version:2.29.2.chromium.6
infra/3pp/tools/git/mac-amd64                    version:2.29.2.chromium.6
infra/3pp/tools/git/windows-386                  version:2.29.2.chromium.6
infra/3pp/tools/git/windows-amd64                version:2.29.2.chromium.6
infra/gsutil                                     version:4.46
infra/3pp/tools/cpython/linux-amd64              version:2.7.18.chromium.30
infra/3pp/tools/cpython/linux-arm64              version:2.7.18.chromium.30
infra/3pp/tools/cpython/mac-amd64                version:2.7.18.chromium.29
infra/3pp/tools/cpython/windows-386              version:2.7.18.chromium.30
infra/3pp/tools/cpython/windows-amd64            version:2.7.18.chromium.30
infra/3pp/tools/cpython3/linux-amd64             version:3.8.6.chromium.10
infra/3pp/tools/cpython3/linux-arm64             version:3.8.6.chromium.10
infra/3pp/tools/cpython3/mac-amd64               version:3.8.6.chromium.10
infra/3pp/tools/cpython3/windows-386             version:3.8.6.chromium.10
infra/3pp/tools/cpython3/windows-amd64           version:3.8.6.chromium.10
infra/tools/git/${platform}                      git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci-auth/${platform}                git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci/git-credential-luci/${platform} git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci/isolate/${platform}             git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci/isolated/${platform}            git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci/swarming/${platform}            git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
infra/tools/luci/vpython/${platform}             git_revision:14be8b751c0fb567535f520f8a7bc60c3f40b378
skia/tools/goldctl/${platform}                   git_revision:f19e9f103574744189b380c3bd949602233da07b

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