Configuration value safety

Ensure configuration values are properly encoded and dependencies use specific versions to prevent runtime failures and security issues. When embedding dynamic values in YAML configuration files, use proper encoding methods like `.to_json` to handle special characters safely. For external dependencies in workflows and configuration, specify exact versions...

copy reviewer prompt

Prompt

Reviewer Prompt

Ensure configuration values are properly encoded and dependencies use specific versions to prevent runtime failures and security issues. When embedding dynamic values in YAML configuration files, use proper encoding methods like .to_json to handle special characters safely. For external dependencies in workflows and configuration, specify exact versions rather than using @latest or similar floating tags.

Example of proper value encoding:

# Instead of:
password: <%= ENV.fetch('SMTP_PASSWORD', nil) %>

# Use:
password: <%= ENV.fetch('SMTP_PASSWORD', nil).to_json %>

Example of proper version pinning:

# Instead of:
uses: chromaui/action@latest

# Use:
uses: chromaui/action@v1

This prevents configuration parsing errors when values contain special characters and ensures reproducible builds by avoiding unexpected dependency updates.

Source discussions