• 2.0.3 ac13f8a433

    2.0.3
    All checks were successful
    published / deps-installed (push) Successful in 0s
    published / fetched (push) Successful in 0s
    published / projectfile-is-valid (push) Successful in 4s
    published / signing-is-ready (push) Successful in 5s
    published / source-is-compliant (push) Successful in 6s
    published / source-is-secure (push) Successful in 8s
    published / source-is-tested (push) Successful in 0s
    published / projectfile-is-ok (push) Successful in 6s
    published / binaries-are-built (amd64, linux) (push) Successful in 58s
    published / documentation-passes-lint (push) Successful in 55s
    published / binaries-are-ok (push) Successful in 0s
    published / documentation-is-ok (push) Successful in 0s
    published / source-passes-lint (push) Successful in 1m1s
    published / source-is-ok (push) Successful in 0s
    published / inputs-are-ok (push) Successful in 0s
    published / image-is-built (amd64) (push) Successful in 3m55s
    published / secrets-ready (push) Successful in 0s
    published / images-are-ok (push) Successful in 0s
    published / container-is-ok (push) Successful in 0s
    published / container-ready-to-test (push) Successful in 0s
    published / container-is-diagnosed (push) Successful in 0s
    published / image-has-sbom (amd64) (push) Successful in 10s
    published / image-is-secure (amd64) (push) Successful in 12s
    published / container-is-verified (amd64) (push) Successful in 30s
    published / image-is-ready (push) Successful in 0s
    published / artifacts-are-ok (push) Successful in 0s
    published / ready-to-publish (push) Successful in 0s
    published / publish-image (push) Successful in 0s
    published / image-is-signed (push) Successful in 0s
    published / image-is-attested (kiota) (push) Successful in 12s
    published / image-is-attested (dockerhub) (push) Successful in 38s
    published / release-is-published (push) Successful in 3s
    published / release-notes-are-published (push) Successful in 5s
    published / published (push) Successful in 0s
    Stable

    damian-buho released this 2026-10-10 00:51:53 +00:00 | 110 commits to dev since this release

    Signed by damian-buho
    GPG key ID: 87B15EAD49FD22AB

    23 commits, 1 contributor, 3 days since 2.0.2.

    Bug fixes

    • assert on a here-string, not a grep -q pipeline (1df65a3)

    Performance

    • container: declare M6E_VERSION next to the user stage (e3403b8)

    Installation

    Container image

    Pull the published container image:

    Pull from DockerHub — linux/amd64

    docker pull damianbuho/ignorelint:2.0.3
    alias ignorelint='docker run --rm --user "$(id -u):$(id -g)" --group-add 0 --volume "$PWD:/app/ws" --workdir /app/ws damianbuho/ignorelint:2.0.3 ignorelint'
    

    This release also publishes the 2.0 and 2 tags — pull the precision you want to pin.

    If the registries above are unreachable, pull from the origin instead:

    Pull from Kiota — linux/amd64

    docker pull kiota.ch/damian-buho/ignorelint:2.0.3
    alias ignorelint='docker run --rm --user "$(id -u):$(id -g)" --group-add 0 --volume "$PWD:/app/ws" --workdir /app/ws kiota.ch/damian-buho/ignorelint:2.0.3 ignorelint'
    

    Then run it as if it were installed — the alias runs every example as written against the current directory:

    ignorelint --help
    

    Prebuilt binary

    Download the prebuilt binary for your platform from this release:

    mkdir -p ~/.local/bin
    curl --fail --location --output ~/.local/bin/ignorelint https://kiota.ch/damian-buho/ignorelint/releases/download/2.0.3/ignorelint-linux-$(uname -m)
    chmod +x ~/.local/bin/ignorelint
    ~/.local/bin/ignorelint --help
    

    Published for: linux/amd64, linux/arm64

    Usage

    Run it as a step in a GitHub Actions workflow:

    - uses: damian-buho/ignorelint@2.0.3
    

    The action takes these inputs:

    Input Default Description
    paths Newline-separated ignore files to lint. Empty enables auto-discovery.
    recursive false Search subdirectories for ignore files (skips hidden dirs, node_modules, symlinks).
    config_file Projectfile path read via pf-cli for the org.ignorelint policy subtree.
    fail_on error Severity threshold that fails the job: none | error | warn | info
    fix false Autofix deterministically fixable issues (workspace will be modified).
    disabled_rules Comma-separated rule tags to skip entirely (e.g. IG-001,IG-020).
    error Comma-separated rule tags to promote to error severity.
    warning Comma-separated rule tags to set to warning severity.
    info Comma-separated rule tags to demote to info severity.
    sarif false Also emit SARIF for github/codeql-action/upload-sarif.
    upload_sarif false Upload the SARIF report to GitHub code scanning (implies sarif; needs security-events: write).
    comment false Post the human report as a sticky comment on the triggering pull request.
    version Image tag to pull (e.g. latest, 1.2.3). Empty follows the release the action is pinned to, else latest.
    image Override the full image reference. Takes precedence over version.
    github_token Token used to post PR comments. Defaults to the workflow github.token when empty.

    ignorelint

    $ ignorelint --help
    Description:
      Linter for *ignore files (.gitignore, .dockerignore, .eslintignore, etc.)
    
    Usage:
      ignorelint [options] [--] [<paths>...]
    
    Arguments:
      paths                                          Files to lint; none discovers them in the current directory, a lone - reads stdin
    
    Options:
          --fail-on=FAIL-ON                          Exit non-zero at this severity or worse (error|warn|info|none, default: error)
          --no-fail                                  Report every finding but always exit 0 (beats --fail-on)
          --plain                                    Human output as one undecorated path:line [CODE] severity: message record per line
          --file-path-in-report=FILE-PATH-IN-REPORT  Record this path instead of the linted one in machine-readable reports
          --format=FORMAT                            Output format (human|tty|gnu|json|checkstyle|junit|gitlab_codeclimate|codacy|sonarqube|sarif, default: human)
      -r, --recursive                                Search subdirectories for *ignore files (skips hidden dirs, node_modules, symlinks)
          --fix                                      Auto-fix deterministically fixable issues (IG-001,002,003,008,015,018,022,023,024)
          --diff                                     Preview auto-fix changes without writing (cannot combine with --fix)
          --stdin                                    Lint piped content instead of files (requires --file; a lone - path does the same)
          --file=FILE                                Filename for --stdin input (drives format detection)
          --disabled-rules=DISABLED-RULES            Skip rules entirely (comma-separated tags, e.g. IG-001,IG-020) (multiple values allowed)
          --error=ERROR                              Promote rules to error severity (comma-separated tags, e.g. IG-020) (multiple values allowed)
          --warning=WARNING                          Set rules to warning severity (comma-separated tags) (multiple values allowed)
          --info=INFO                                Demote rules to info severity (comma-separated tags; applied last) (multiple values allowed)
          --disable-ignore-pragma                    Parse suppression directives but apply none; IG-026 still lists them
          --config=CONFIG                            Projectfile read via pf-cli for the org.ignorelint policy subtree (default: ./projectfile.*)
      -h, --help                                     Display help for the given command. When no command is given display help for the ignorelint command
          --silent                                   Do not output any message
      -q, --quiet                                    Only errors are displayed. All other output is suppressed
      -V, --version                                  Display this application version
          --ansi|--no-ansi                           Force (or disable --no-ansi) ANSI output
      -n, --no-interaction                           Do not ask any interactive question
      -v|vv|vvv, --verbose                           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
    
    Help:
      When no path is given, discovers supported *ignore files in the current directory.
      Discovery and diagnostics go to stderr; stdout carries only the report.
    
      Environment variables:
        SHELL_VERBOSITY=1          Same as -v (-1 same as -q)
        IGNORELINT_FAIL_ON=LEVEL   Same as --fail-on (error|warn|info|none)
        IGNORELINT_NOFAIL=1        Same as --no-fail
        IGNORELINT_FORMAT=FORMAT   Same as --format
        IGNORELINT_FIX=1           Same as --fix
        IGNORELINT_RECURSIVE=1     Same as --recursive
        IGNORELINT_DISABLED_RULES=CODES Same as --disabled-rules
        IGNORELINT_OVERRIDE_ERROR=CODES Same as --error
        IGNORELINT_OVERRIDE_WARNING=CODES Same as --warning
        IGNORELINT_OVERRIDE_INFO=CODES Same as --info
        IGNORELINT_CONFIG=PATH     Same as --config
        IGNORELINT_DISABLE_IGNORE_PRAGMA=1 Same as --disable-ignore-pragma
        IGNORELINT_FILE_PATH_IN_REPORT=PATH Same as --file-path-in-report
        NO_COLOR=1                 Disable colored output (also TERM=dumb)
        FORCE_COLOR=1              Color even when piped (--ansi and --no-ansi beat both)
    

    Examples and every command’s help are in Usage.

    Image digests

    A tag can move; a digest cannot. Pull this exact build:

    docker pull docker.io/damianbuho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    docker pull kiota.ch/damian-buho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    
    Platform Digest Size
    linux/amd64 sha256:174d77259b4a6cfb51bbf715e7a4fa5261df41baf2adbb10a73aaba3dfa41384 90.5 MB

    Sizes are compressed layer bytes as stored in the registry.

    Verify

    Check that what you downloaded is what this project published.

    Container image

    The signature proves this project’s CI built and pushed the image; the attestation carries its software bill of materials.

    COSIGN_KEY=https://kiota.ch/damian-buho/metadata/raw/branch/main/keys/ci-cosign-key.pub
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true docker.io/damianbuho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true kiota.ch/damian-buho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx docker.io/damianbuho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx kiota.ch/damian-buho/ignorelint@sha256:8939fc7fd7aff43ba12c2bfe2d0b25b26b4d61f5e3a02dc6db46e51ec7982e38
    

    Full changes: https://kiota.ch/damian-buho/ignorelint/compare/2.0.2...2.0.3

    Downloads