21: Packaging and CI hygiene for a 1.0.0 tag - #35
Open
nikolaystrikhar wants to merge 4 commits into
Open
Conversation
.claude/ and .superpowers/ stayed out of the tree only because this machine's global excludes happen to cover them. On a fresh checkout they are untracked and one git add away from shipping, with no export-ignore behind them.
composer.lock is deliberately uncommitted and static analysis resolves dependency-versions: highest, so a phpstan 1.x minor that adds a level 9 rule turns the gate red on a branch nobody touched. ~1.12.0 makes that a deliberate bump instead of a surprise. keywords and support are what Packagist renders.
composer validate does not vary by PHP or WordPress version, so running it on every leg of a 2x2 matrix bought nothing and skipped --strict, which is the half that promotes what a consumer reads on Packagist to a failure. Also records why the 8.5 leg has a test harness at all: wp-browser 3.8.1 declares php <8.0 and installs only because config.platform pins resolution to 7.4. Bypassed rather than satisfied, deliberately, and green today.
The file was checked in and both workflows carried cspell:ignore directives, so a reader would assume a gate existed. None did. Curating the 40 words the tree already uses costs less than the false impression, and this repository argues about prose often enough to want the check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What:
.gitignore/.gitattributescover the agent directories,composer.jsongainskeywords/supportand pins the analysis tools to a minor,composer validatemoves out of the test matrix into the PHPStan workflow as--strict, and that workflow grows acspellstep.Usage:
Why this way:
A gate that can go red without a commit is not a gate.
composer.lockis deliberately uncommitted and static analysis resolvesdependency-versions: highest, sophpstan/phpstan: "^1.10"could pull a minor with new level 9 rules onto an untouched branch.~1.12.0makes the bump deliberate; tightening the constraint is smaller than committing a lock file the workflow explicitly wants to ignore.cspell.jsonwas decorative. It was checked in and both workflows carriedcspell:ignoredirectives, so a reader would assume something read it. Nothing did. Curating the forty words the tree already uses costs less than the false impression.Validation belongs where it does not repeat.
composer validatedoes not vary by PHP or WordPress version, so four lenient runs became one strict one.