A malformed secret reference warns the author
Writing {{ secrets.NAME }} instead of ${{ secrets.NAME }} produces a literal string at execution rather than a secret, silently and with no error. The warning exists to catch the missing $ while the author is still looking.
The rule
Normative: this is the rule
- A string in a node's
configthat contains{{ secrets.without the leading$yields a warning atnode.{id}.config.{key}telling the author to write${{ secrets.NAME }}. - Config is walked recursively, so a reference nested inside structured config is covered.
- A correctly written
${{ secrets.NAME }}produces no warning, and the save is never blocked either way.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · R6.l · changed in spec 1.0