1*da0073e9SAndroid Build Coastguard Worker#!/usr/bin/env bash 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Workergrab_prune_version() { 4*da0073e9SAndroid Build Coastguard Worker conda search -c "${CHANNEL}" --platform "${platform}" "${PKG}" 2>/dev/null | \ 5*da0073e9SAndroid Build Coastguard Worker grep "${CHANNEL}" | \ 6*da0073e9SAndroid Build Coastguard Worker awk -F ' *' '{print $2}' | \ 7*da0073e9SAndroid Build Coastguard Worker uniq | \ 8*da0073e9SAndroid Build Coastguard Worker head -n -1 | \ 9*da0073e9SAndroid Build Coastguard Worker xargs 10*da0073e9SAndroid Build Coastguard Worker} 11*da0073e9SAndroid Build Coastguard Worker 12*da0073e9SAndroid Build Coastguard Workergrab_latest_version() { 13*da0073e9SAndroid Build Coastguard Worker conda search -c "${CHANNEL}" --platform "${platform}" "${PKG}" 2>/dev/null | \ 14*da0073e9SAndroid Build Coastguard Worker grep "${CHANNEL}" | \ 15*da0073e9SAndroid Build Coastguard Worker awk -F ' *' '{print $2}' | \ 16*da0073e9SAndroid Build Coastguard Worker uniq | \ 17*da0073e9SAndroid Build Coastguard Worker tail -n 1 | \ 18*da0073e9SAndroid Build Coastguard Worker xargs 19*da0073e9SAndroid Build Coastguard Worker} 20*da0073e9SAndroid Build Coastguard Worker 21*da0073e9SAndroid Build Coastguard Workergrab_specs_for_version() { 22*da0073e9SAndroid Build Coastguard Worker conda search -c "${CHANNEL}" --platform "${platform}" "${PKG}" 2>/dev/null | \ 23*da0073e9SAndroid Build Coastguard Worker grep "${CHANNEL}" | \ 24*da0073e9SAndroid Build Coastguard Worker grep "$1" | \ 25*da0073e9SAndroid Build Coastguard Worker awk -F ' *' '{print $3}' | \ 26*da0073e9SAndroid Build Coastguard Worker uniq | \ 27*da0073e9SAndroid Build Coastguard Worker xargs 28*da0073e9SAndroid Build Coastguard Worker} 29*da0073e9SAndroid Build Coastguard Worker 30*da0073e9SAndroid Build Coastguard Workerset -eou pipefail 31*da0073e9SAndroid Build Coastguard Worker 32*da0073e9SAndroid Build Coastguard WorkerCHANNEL=${CHANNEL:-pytorch-nightly} 33*da0073e9SAndroid Build Coastguard WorkerPKG=${PKG:-pytorch} 34*da0073e9SAndroid Build Coastguard WorkerPLATFORMS=${PLATFORMS:-noarch osx-64 osx-arm64 linux-64 win-64} 35*da0073e9SAndroid Build Coastguard Worker 36*da0073e9SAndroid Build Coastguard Workerfor platform in ${PLATFORMS}; do 37*da0073e9SAndroid Build Coastguard Worker latest_version="$(grab_latest_version || true)" 38*da0073e9SAndroid Build Coastguard Worker specs_in_latest_version="$(grab_specs_for_version "${latest_version}" || true)" 39*da0073e9SAndroid Build Coastguard Worker versions_to_prune="$(grab_prune_version || true)" 40*da0073e9SAndroid Build Coastguard Worker for version in ${versions_to_prune}; do 41*da0073e9SAndroid Build Coastguard Worker specs_in_prune_version="$(grab_specs_for_version "${version}" || true)" 42*da0073e9SAndroid Build Coastguard Worker for spec in ${specs_in_prune_version}; do 43*da0073e9SAndroid Build Coastguard Worker # If this spec is included in specs_in_latest_version, then remove it. 44*da0073e9SAndroid Build Coastguard Worker if [[ "${specs_in_latest_version}" =~ ${spec} ]];then 45*da0073e9SAndroid Build Coastguard Worker ( 46*da0073e9SAndroid Build Coastguard Worker set -x 47*da0073e9SAndroid Build Coastguard Worker anaconda remove --force "${CHANNEL}/${PKG}/${version}/${platform}/${PKG}-${version}-${spec}.tar.bz2" 48*da0073e9SAndroid Build Coastguard Worker ) 49*da0073e9SAndroid Build Coastguard Worker fi 50*da0073e9SAndroid Build Coastguard Worker done 51*da0073e9SAndroid Build Coastguard Worker done 52*da0073e9SAndroid Build Coastguard Workerdone 53