Skip to content

brandonhimpfen/config-file-validator

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Config File Validator

Config File Validator is a lightweight GitHub Action that checks whether required configuration files exist in a repository.

It is useful for keeping repositories consistent by requiring files such as .editorconfig, .gitignore, .env.example, .npmrc, .prettierrc, CODEOWNERS, or other project-level configuration files.

Usage

Create a workflow file such as .github/workflows/config-file-validator.yml:

name: Config File Validator

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  validate-config-files:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Check required config files
        uses: brandonhimpfen/config-file-validator@v1

By default, the action checks for:

.editorconfig
.gitignore
.env.example

Custom Required Files

Use required-files to define the files your project requires.

- name: Check required config files
  uses: brandonhimpfen/config-file-validator@v1
  with:
    required-files: '.editorconfig,.gitignore,.env.example,.prettierrc'

You can also use a multiline list:

- name: Check required config files
  uses: brandonhimpfen/config-file-validator@v1
  with:
    required-files: |
      .editorconfig
      .gitignore
      .env.example
      CODEOWNERS

Check a Subdirectory

Use base-path when the required files should be checked inside a specific directory.

- name: Check app config files
  uses: brandonhimpfen/config-file-validator@v1
  with:
    base-path: apps/web
    required-files: '.env.example,.npmrc'

Warn Instead of Fail

By default, the action fails when required files are missing.

Set fail-on-missing to false to report missing files as warnings only.

- name: Check required config files
  uses: brandonhimpfen/config-file-validator@v1
  with:
    fail-on-missing: 'false'

Inputs

Input Description Required Default
required-files Comma-separated or newline-separated list of required config files. No .editorconfig,.gitignore,.env.example
fail-on-missing Whether the action should fail when required files are missing. No true
base-path Directory to check from. No .

Outputs

Output Description
checked-files Comma-separated list of all files checked.
found-files Comma-separated list of required files that were found.
missing-files Comma-separated list of required files that were missing.
missing-count Number of missing required files.

Output Example

- name: Check required config files
  id: config_files
  uses: brandonhimpfen/config-file-validator@v1
  with:
    required-files: '.editorconfig,.gitignore,.env.example'

- name: Print missing files
  run: echo "Missing files: ${{ steps.config_files.outputs.missing-files }}"

Common Use Cases

Require Baseline Repository Files

with:
  required-files: '.editorconfig,.gitignore,.env.example,README.md,LICENSE'

Require JavaScript Project Config Files

with:
  required-files: '.editorconfig,.gitignore,.env.example,package.json'

Require Documentation and Governance Files

with:
  required-files: 'README.md,LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md'

Path Safety

The action checks files relative to base-path and rejects paths that attempt to escape that directory.

For example, ../.env will not be checked outside the configured base path.

License

This project is licensed under the MIT License.

About

Config File Validator is a lightweight GitHub Action that checks whether required configuration files exist in a repository.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors