Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Github Workflow: Unable to process file command 'env' successfully

I'm using a github workflow to automate some actions for AWS. I haven't changed anything for a while as the script has been working nicely for me. Recently I've been getting this error: Unable to process file command 'env' successfully whenever the workflow runs. I've got no idea why this is happening. Any help or pointers would greatly appreciated. Thanks. Here's the workflow which is outputting the error:

- name: "Get AWS Resource values"
  id: get_aws_resource_values
  env:
    SHARED_RESOURCES_ENV: ${{ github.event.inputs.shared_resources_workspace }}
  run: |
    BASTION_INSTANCE_ID=$(aws ec2 describe-instances \
     --filters "Name=tag:env,Values=$SHARED_RESOURCES_ENV" \
     --query "Reservations[*].Instances[*].InstanceId" \
     --output text)

    RDS_ENDPOINT=$(aws rds describe-db-instances \
      --db-instance-identifier $SHARED_RESOURCES_ENV-rds \
      --query "DBInstances[0].Endpoint.Address" \
      --output text)

    echo "rds_endpoint=$RDS_ENDPOINT" >> $GITHUB_ENV
    echo "bastion_instance_id=$BASTION_INSTANCE_ID" >> $GITHUB_ENV
like image 413
TheSunbathingCrow Avatar asked Aug 05 '26 20:08

TheSunbathingCrow


1 Answers

From the RDS endpoint query expression (Reservations[*].Instances[*].InstanceId) in your aws cli command, it seems you expect a multiline string. It could also be that before you started to receive this error the command was producing a single line string, and that changed at some point.

In GitHub actions, multiline strings for environment variables and outputs need to be created with a different syntax.

For the RDS endpoint you should set the environment variable like this:

echo "rds_endpoint<<EOF" >> $GITHUB_ENV
echo "$RDS_ENDPOINT" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV

I guess that the bastion instance id will not be a problem since it's a single line string.

like image 83
Miguel Ferreira Avatar answered Aug 07 '26 21:08

Miguel Ferreira



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!