Skip to content

actions-able/envsubst-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Envsubst GitHub Action

This action substitute the values of environment variables using envsubst. envsubst is a GNU gettext https://www.gnu.org/software/gettext/manual/html_node/envsubst-Invocation.html

Substitute envs in exactly one file

      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: envsubst-gnu-utility
        uses: actions-able/envsubst-action@v1
        with:
          input-file: 'deployment.yaml'
          output-file: 'new-deployment.yaml'
        env:
          IMAGE_NAME: 'my-custom-image:1.0.0'

Substitute envs in files using patterns for input files

      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: envsubst-gnu-utility
        uses: actions-able/envsubst-action@v1
        with:
          input-file-pattern: '*.yaml'
          output-file-suffix: '.subst'
        IMAGE_NAME: 'my-custom-image:1.0.0'

With this last configuration, your output filename will be deployment.yaml.subst.

Parameters

Name Description Default value

working-directory

Directory where to find the input file(s)

.

input-file

Path to the input file. Needs output-file to be set if defined.

Warning
The parameter input-file-pattern can’t be used at the time.

output-file

Path to the output file. Needs input-file to be set if defined.

input-file-pattern

Pattern of input files. Will be used with GNU find -name.

Warning
The parameter input-file can’t be used at the time.

output-file-suffix

Suffix that will be added to filenames for output files when using input-file-pattern.

.subst