Невозможно создать файл с фигурными скобками с помощью heredoc в действиях GitHub

Я хочу на лету создать файл шаблона golang в GitHub Actions.

Итак, я делаю более или менее следующее:

  - name: create the template
      shell: bash
      run: |
        cat <<EOF > myfile.tpl
        \{\{- if . \}\}
        \{\{- range . \}\}
        <h3>Target <code>{{ escapeXML .Target }}</code></h3>
        \{\{- if (eq (len .Vulnerabilities) 0) \}\}
        <h4>No Vulnerabilities found</h4>
        .
        .
        \{\{- end \}\}
        EOF

Однако, помимо того факта, что я получаю ошибки при попытке использовать его, когда я cat я получаю следующее

\***\***- if . \***\***
\***\***- range . \***\***
<h3>Target <code>*** escapeXML .Target ***</code></h3>
\***\***- if (eq (len .Vulnerabilities) 0) \***\***
<h4>No Vulnerabilities found</h4>

Как правильно это сделать?

Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
2
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для создания файла шаблона agolang в рабочем процессе GitHub Actions без экранирования специальных символов. Используйте другой разделитель в Heredoc, который предотвращает интерпретацию специальных символов. Вы можете добиться этого, используя EOF или другой разделитель с кавычками. Попробуйте следующий способ, это будет правильно.

- name: Create the template
  shell: bash
  run: |
    cat <<'EOF' > myfile.tpl
{{- if . }}
{{- range . }}
<h3>Target <code>{{ escapeXML .Target }}</code></h3>
{{- if (eq (len .Vulnerabilities) 0) }}
<h4>No Vulnerabilities found</h4>
.
.
{{- end }}
{{- end }}
EOF

Другие вопросы по теме