Jinja2 is a fast and straightforward templating engine. You can use this action to easily run it in your GitHub workflows.
- name: Setup nginx
uses: cuchi/jinja2-action@v1.2.0
with:
template: infra/nginx.conf.j2
output_file: infra/nginx.conf
strict: true
variables: |
server_host=staging.example.com
timeout=30s
- name: Setup nginx
uses: cuchi/jinja2-action@v1.2.0
with:
template: infra/nginx.conf.j2
output_file: infra/nginx.conf
data_file: staging_config.json
data_format: json # Will try to guess from the extension instead (unnecessary in this case)
- name: Setup nginx
uses: cuchi/jinja2-action@v1.2.0
with:
template: infra/nginx.conf.j2
output_file: infra/nginx.conf
env:
SERVER_HOST: staging.example.com
Environment variables are used this way in the template file:
{{ env['SERVER_HOST'] }} <-- This is always strict
{{ env.get('SERVER_HOST') }} <-- This is never strict, and displays `None` if you don't specify a default value