3

I defined the input to a Github workflow action like so. To create the string values, I enclose the substitution in double-quotes, to follow how it would be in Bash:

 uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
    env:
      API_TOKEN_GITHUB: ${{ secrets.GH_API_TOKEN }}
    with:
      source_file: "${{ steps.create-copy-file.outputs.filename }}.yaml"
      destination_repo: "${{ github.repository_owner }}/repo"
      destination_folder: "releases/${{ steps.create-copy-file.outputs.target_folder }}"
      user_email: "user@mail.com"
      user_name: "User Name"

However, examples in Github shows that I can substitute for the value without needing to enclose it in quotes. I tried defining the values above without quotes and they seem to work i.e. the file is copied correctly to the target repo and folder.

 uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
    env:
      API_TOKEN_GITHUB: ${{ secrets.GH_API_TOKEN }}
    with:
      source_file: ${{ steps.create-copy-file.outputs.filename }}.yaml
      destination_repo: ${{ github.repository_owner }}/repo
      destination_folder: releases/${{ steps.create-copy-file.outputs.target_folder }}
      user_email: user@mail.com
      user_name: "User Name"

I tried looking for examples in Github to know whether this practice is allowed or suggested but couldn't find any. The one example I have found is from this Azure developer page (example no.6): https://learn.microsoft.com/en-us/azure/developer/github/github-variable-substitution.

Another example, wraps the string in double quotes.

My question is, is it necessary to enclose string substitution in Github workflow in single/double quotes? Is this an officially supported feature or an unintended feature?

Anugerah Erlaut
  • 990
  • 13
  • 23

1 Answers1

3

No, generally you do not need quotes. The workflow file is YAML and this is all about quotes in YAML:

YAML: Do I need quotes for strings in YAML?

mmomtchev
  • 2,497
  • 1
  • 8
  • 23