Skip to main content

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.

Metadata

Release files for pettifogger 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pettifogger 0.5.0
File Size Uploaded Provenance Actions
pettifogger-0.5.0.tar.gz 18.4 kB Without provenance Details for pettifogger-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pettifogger 0.5.0
File Interpreter ABI Platform Actions
pettifogger-0.5.0-py3-none-any.whl Python 3 none any Details for pettifogger-0.5.0-py3-none-any.whl

Total release size: 51.3 kB

Release files / pettifogger-0.5.0.tar.gz

Download URL pettifogger-0.5.0.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5e16846ab36559957c65abc2d6e91bfcc60aba3ca944075cd0988c45d4986cf1
BLAKE2b-256 checksum
How to use checksums
d54e64c380bc7c3ed821b8583e7da2c5e03fdcc21b1afc4505c0855480c8c20a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/3.9.5 Linux/5.11.6-1-MANJARO

Release files / pettifogger-0.5.0-py3-none-any.whl

Download URL pettifogger-0.5.0-py3-none-any.whl
Size 32.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64e082bf129531e1e761c223bcab222c2d77cd71e90b6a5bc8da8e6c61894f5e
BLAKE2b-256 checksum
How to use checksums
4332239a73c8aeccd5b07ea7deaea5781c318c5099979af1a270eeb446c19ccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/3.9.5 Linux/5.11.6-1-MANJARO

Security for pettifogger 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page