29 lines
1.2 KiB
YAML
29 lines
1.2 KiB
YAML
name: cleanup-conda
|
|
description: 'Remove extra conda environments'
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Remove extra conda environments
|
|
run: |
|
|
CONDA_REMOVE_NAMES=$(conda env list | awk '{print $1}' | tail -n +3 | grep "${{ env.conda-env-name-no-time }}" || true)
|
|
if [ -z "$CONDA_REMOVE_NAMES" ]; then
|
|
echo "No matching conda environments for ${{ env.conda-env-name-no-time }}. Skip removal."
|
|
else
|
|
echo "Removing $CONDA_REMOVE_NAMES conda environments."
|
|
for env in $CONDA_REMOVE_NAMES; do
|
|
conda env remove -n $env
|
|
done
|
|
fi
|
|
conda env list | awk '{print $1}' | tail -n +4 | while read envname; do
|
|
ENV_DATE=$(echo $envname | sed "s/cy-[[:digit:]]\+-\(.*\)-\(riscv\|esp\)-tools/\1/")
|
|
NUM_DIFF=$(( ( $(date +%s) - $(date --date="$ENV_DATE" +%s) )/(60*60*24) ))
|
|
if (( $NUM_DIFF > 7 )); then
|
|
echo "Removing $envname since it is $NUM_DIFF days old."
|
|
conda env remove -n $envname
|
|
else
|
|
echo "Skipping removal of $envname since it is $NUM_DIFF days old."
|
|
fi
|
|
done
|
|
shell: bash -leo pipefail {0}
|