From d9ebac31b5ce966eae84b6e12e8b0df29ddd6a1e Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Sat, 24 Aug 2024 13:03:48 -0400 Subject: [PATCH] feat: Perform action --- .github/workflows/automatic-instance-shelving.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automatic-instance-shelving.yml b/.github/workflows/automatic-instance-shelving.yml index fab7bd1b..593df1c4 100644 --- a/.github/workflows/automatic-instance-shelving.yml +++ b/.github/workflows/automatic-instance-shelving.yml @@ -35,6 +35,8 @@ jobs: # Skip because instance status is being updated continue fi + # Extract issue number + issue_number=${instance_name##*-} # Get instance IP instance_ip=$( openstack server show $instance_name -c addresses -f json | \ @@ -53,7 +55,7 @@ jobs: exouser@$instance_ip \ 'cat /proc/uptime | awk "{print \$1}"') uptime_hours=$(echo "scale=2; $uptime_seconds / 3600" | bc) - # Check uptime + # Check uptime and define action if $(python3 -c "valid=($uptime_hours > 3.5 and $uptime_hours <= 4.0); EXIT_SUCCESS=0; EXIT_FAILURE=1; exit(EXIT_SUCCESS if valid else EXIT_FAILURE)"); then action="notify" elif $(python3 -c "valid=($uptime_hours > 4.0); EXIT_SUCCESS=0; EXIT_FAILURE=1; exit(EXIT_SUCCESS if valid else EXIT_FAILURE)"); then @@ -61,7 +63,15 @@ jobs: else action="" fi - echo "instance_name [$instance_name], uptime_hours [$uptime_hours] -> action[$action]" + echo "instance_name [$instance_name], issue_number [$issue_number], uptime_hours [$uptime_hours] -> action[$action]" + # Perform action + if [[ "$action" == "shelve" ]]; then + gh issue comment $issue_number \ + -b "/shelve
\ +
\ + _Command issues by *automatic-instance-shelving.yml* workflow. \ + For details, see https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}_" + fi done env: PREFIX: ${{ vars.INSTANCE_NAME_PREFIX }}