Skip to content

GitHub Action

The official EnvGuard GitHub Action validates environment variables in your workflows.

Usage

yaml
name: Validate Env

on: [push, pull_request]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Validate Environment Variables
        uses: firasmosbehi/envguard@v2
        with:
          schema: envguard.yaml
          env: .env
          strict: true

Inputs

InputRequiredDefaultDescription
schemaNoenvguard.yamlPath to schema file
envNo.envPath to .env file(s), comma-separated
strictNofalseFail on undefined keys
formatNogithubOutput format: text, json, github, sarif
env-nameNo""Environment name for requiredIn/devOnly
scan-secretsNofalseScan for hardcoded secrets
versionNolatestEnvGuard version to use

Examples

Strict Mode

yaml
- uses: firasmosbehi/envguard@v2
  with:
    strict: true

Multiple Environment Files

yaml
- uses: firasmosbehi/envguard@v2
  with:
    env: .env,.env.local

Secret Scanning

yaml
- uses: firasmosbehi/envguard@v2
  with:
    scan-secrets: true
    format: sarif

Production Validation

yaml
- uses: firasmosbehi/envguard@v2
  with:
    env-name: production
    strict: true

Matrix Builds

yaml
strategy:
  matrix:
    env: [dev, staging, prod]
steps:
  - uses: firasmosbehi/envguard@v2
    with:
      schema: envguard.${{ matrix.env }}.yaml
      env-name: ${{ matrix.env }}

SARIF Upload

yaml
- uses: firasmosbehi/envguard@v2
  with:
    format: sarif
    scan-secrets: true

- uses: github/codeql-action/upload-sarif@v3
  if: always()
  with:
    sarif_file: envguard-results.sarif

Released under the MIT License.