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.3.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.3.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.3.0 with: template: infra/nginx.conf.j2 output_file: infra/nginx.conf env: SERVER_HOST: staging.example.comEnvironment 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