Skip to main content

Github actions workflow validator

Project description

pettifogger

pettifogger (noun)

pet·​ti·​fog·​ger | \ ˈpe-tē-ˌfȯ-gər, -ˌfä- \

Definition of pettifogger

1 : a lawyer whose methods are petty, underhanded, or disreputable : shyster

2 : one given to quibbling over trifles

(source: https://www.merriam-webster.com/dictionary/pettifogger)

Description

Pettifogger is a github actions workflow validator, that will sniff out things like forgotten checkouts and suspicious capital letter words. The intention is to provide some level of additional insight to the workflow files before they go to master/main.

The project is still under initial development and is mainly intended for internal testing but other interested may try it out as well if their sanity can stand it.

Installation

pip install pettifogger or pip install --upgrade pettifogger

Usage

Pettifogger can be run with or without --workflow argument. When the argument is defined, then only that workflow is being validated and if used together with --watch, then only that file is watched. When used without --workflow the tool will search paths matching .github/workflows in all subdirectories and will validate those. When the workflows are searched automatically --watch will watch all those directories for changes.

usage: pettifogger [-h] [--version] [--workflow WORKFLOW] [--suppress-suspicions] [--fail-on-suspicions] [--no-fail-on-error] [--watch]

optional arguments:
  -h, --help            show this help message and exit
  --version             Print pettifogger's version
  --workflow WORKFLOW   Path to a workflow file to validate
  --suppress-suspicions
                        Suppresses the suspicion output
  --fail-on-suspicions  Suspicions fail the validation
  --no-fail-on-error    Errors will not fail the validation
  --watch               Watch the file or workflow subdirectories detected automatically

Known limitations

  • Tool has not been tested in Windows or in MacOS. It might work or then not. Please report any issues related to this using the Gitlab issues.
  • Shell scripts only support *nix shell dialects (developed using bash). Windows powershell etc. are not supported at the moment.
  • If the environment variables are not found from the workflow file, they are considered to be missing. This is something that is currently being looked into.

License

This project is licensed under MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pettifogger-0.5.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pettifogger-0.5.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file pettifogger-0.5.0.tar.gz.

File metadata

  • Download URL: pettifogger-0.5.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.11.6-1-MANJARO

File hashes

Hashes for pettifogger-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5e16846ab36559957c65abc2d6e91bfcc60aba3ca944075cd0988c45d4986cf1
MD5 310b72516c27f5f3b9a06ea2b4b10ab6
BLAKE2b-256 d54e64c380bc7c3ed821b8583e7da2c5e03fdcc21b1afc4505c0855480c8c20a

See more details on using hashes here.

File details

Details for the file pettifogger-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pettifogger-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.11.6-1-MANJARO

File hashes

Hashes for pettifogger-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64e082bf129531e1e761c223bcab222c2d77cd71e90b6a5bc8da8e6c61894f5e
MD5 a20b683260a6e1884b28c0db8cf7b279
BLAKE2b-256 4332239a73c8aeccd5b07ea7deaea5781c318c5099979af1a270eeb446c19ccb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page