| #### Step 1: create a work directory: | |
| # this is necessary because another github action job will remove | |
| # the entire directory, which slurm depends on. | |
| # https://stackoverflow.com/questions/4632028/how-to-create-a-temporary-directory | |
| MY_SLURM_TMP_DIR=/fsx/costa/slurm_tmpdir | |
| mkdir -p $MY_SLURM_TMP_DIR | |
| WORK_DIR=`mktemp -d -p "$MY_SLURM_TMP_DIR"` | |
| cp -r "$PWD" "$WORK_DIR" | |
| cd "$WORK_DIR/$(basename "$PWD")" | |
| echo WORK_DIR: $WORK_DIR | |
| #### Step 2: actual work starts: | |
| echo PATH is $PATH | |
| echo PYTHONPATH is $PYTHONPATH | |
| echo whcih python is $(which python) | |
| export WANDB_ENTITY=huggingface | |
| bash $BENCHMARK_SCRIPT > output.txt | |
| # Extract Job IDs into an array | |
| job_ids=($(grep "Job ID:" output.txt | awk '{print $3}')) | |
| # Extract WANDB_TAGS into an array | |
| WANDB_TAGS=($(grep "WANDB_TAGS:" output.txt | awk '{print $2}')) | |
| WANDB_TAGS=($(echo $WANDB_TAGS | tr "," "\n")) | |
| # Print to verify | |
| echo "Job IDs: ${job_ids[@]}" | |
| echo "WANDB_TAGS: ${WANDB_TAGS[@]}" | |
| TAGS_STRING="?tag=${WANDB_TAGS[0]}" | |
| FOLDER_STRING="${WANDB_TAGS[0]}" | |
| for tag in "${WANDB_TAGS[@]:1}"; do | |
| TAGS_STRING+="&tag=$tag" | |
| FOLDER_STRING+="_$tag" | |
| done | |
| echo "TAGS_STRING: $TAGS_STRING" | |
| echo "FOLDER_STRING: $FOLDER_STRING" | |
| TAGS_STRING=$TAGS_STRING FOLDER_STRING=$FOLDER_STRING BENCHMARK_PLOT_SCRIPT=$BENCHMARK_PLOT_SCRIPT sbatch --dependency=afterany:$job_ids benchmark/post_github_comment.sbatch | |