Skip to content

Maintenance and release housekeeping#43

Merged
lippserd merged 11 commits intomainfrom
docs-and-repo-housekeeping
Mar 24, 2026
Merged

Maintenance and release housekeeping#43
lippserd merged 11 commits intomainfrom
docs-and-repo-housekeeping

Conversation

@lippserd
Copy link
Copy Markdown
Member

@lippserd lippserd commented Mar 11, 2026

This PR consolidates several maintenance tasks to bring the repository
in line with shared conventions across our projects.

CI

  • Extend push builds to support/* and trigger validation for all pull
    requests regardless of target branch
  • Enable workflow_dispatch for ad-hoc verification

Repository

  • Add .gitattributes to exclude CI, Git configuration, and
    test-related files from git archive outputs
  • Enable Composer's sort-packages setting and normalize composer.json
  • Convert license file to LICENSE.md to align with the repository's
    Markdown-based documentation and establish a consistent convention
    across all repositories

Documentation

  • Add CHANGELOG.md to summarize notable changes per release
  • Expand README.md with a package overview, installation requirements,
    and focused examples for standalone validators and validator chains
  • Normalize and complete PHPDoc across all source files
  • Clean up inline comments and tighten wording
  • Narrow thrown exceptions to InvalidArgumentException

@cla-bot cla-bot bot added the cla/signed label Mar 11, 2026
@lippserd lippserd added this to the v0.6.0 milestone Mar 11, 2026
Potential bugfix releases for maintained older versions should receive
the same PHP checks as the default branch. Extend push builds to also
cover `support/*` and drop the pull request target filter so validation
still runs for pull requests merged through other pull requests.

Enable `workflow_dispatch` for ad-hoc verification.
Enable Composer's `sort-packages` setting and run `composer normalize`
to establish a consistent structure for `composer.json`.

This keeps future dependency changes deterministic and reduces
unnecessary diff noise.
@lippserd lippserd force-pushed the docs-and-repo-housekeeping branch 5 times, most recently from bc6d54a to 3752200 Compare March 18, 2026 09:04
@lippserd lippserd force-pushed the docs-and-repo-housekeeping branch from 3752200 to d7a91ca Compare March 18, 2026 14:34
@lippserd
Copy link
Copy Markdown
Member Author

@sukhwinder33445 I'm sorry I pushed again after you reviewed it, but I made a few more changes that should be in this PR. Those are about cleaning up inline comments and tightening wording, and replacing fenced code examples with indented blocks for better IDE rendering.

@lippserd lippserd force-pushed the docs-and-repo-housekeeping branch 4 times, most recently from a8b2b17 to 33f0466 Compare March 24, 2026 12:56
Add a minimal `.gitattributes` file so `git archive` excludes CI and
Git configuration files as well as test-related files.

This keeps release archives focused on the package contents.
Remove the broad hidden file exclusion and its `.git*` whitelist in
favor of a global `~/.gitignore`. Editor and OS artifacts such as
`.DS_Store`, `.idea/`, or `.vscode/` are environment-specific and not
the project's responsibility to exclude.

Each developer should maintain a global ignore file for such artifacts:

    git config --global core.excludesFile ~/.gitignore

Keep only Composer installation artifacts with a comment clarifying
why `composer.lock` is excluded for library projects.
Rename the license file to `LICENSE.md`, switch to a Markdown heading,
and normalize the Icinga URL.

This aligns the license file with the repository's Markdown-based
documentation and establishes `LICENSE.md` as a consistent convention
across all Icinga repositories.
Introduced changelog covers all releases and unreleased changes,
derived from tags, release notes, commits, and related pull requests.
Add a package overview, installation requirements, and focused examples
for standalone validators and validator chains.

This gives users practical guidance without turning the README into a
validator-by-validator reference.
Standardize class-level docblocks to use the imperative mood and add
missing docblocks to `isValid()` and other undocumented methods. Correct
two inaccuracies in `EmailAddressValidator` and `StringLengthValidator`.
Replace fenced code examples with indented blocks for better IDE rendering.
Inline comments should read as complete sentences and be easy to scan. Ending
each comment with a full stop signals that the thought is complete and keeps
the style consistent across the codebase. Where comments were verbose or
imprecise, take the opportunity to tighten the wording without changing
meaning.
All affected throw sites represent invalid caller-supplied configuration, e.g.,
missing required options or a min value that exceeds max. Replacing the generic
`Exception` and `LogicException` with `InvalidArgumentException` communicates
that intent precisely. `InvalidArgumentException` is a subclass of
`LogicException`, so existing catch blocks continue to work without
modification.
@lippserd lippserd force-pushed the docs-and-repo-housekeeping branch from 33f0466 to c2308b6 Compare March 24, 2026 17:13
@lippserd lippserd merged commit 50f4855 into main Mar 24, 2026
13 checks passed
@lippserd lippserd deleted the docs-and-repo-housekeeping branch March 24, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants