You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
A Distribution archive gate (QA-06): pollora-qa check builds the archive git archive would produce and fails when a development file is in it (tests/, .github/, .claude/, AGENTS.md, .harness.json, api-surface.json, rector.php, composer-dependency-analyser.php, phpstan*.neon, phpunit*.xml, pint.json, renovate.json, .gitignore, .gitattributes…), with the .gitattributes lines to add. It reads the real archive, because an export-ignore on a directory cannot be seen file by file. It runs for the core, framework, integration and wp-plugin profiles: the archive of a template or a project is the product. It is skipped where git archive cannot be built. It starts observed (reported, never blocking, like the npm audit did), so that raising the harness to this version turns no repository red; a repository fixes .gitattributes with pollora-qa archive --fix when it raises it, and the gate will block in a later version
pollora-qa archive [--fix]: checks the same thing from the command line; --fix adds the missing export-ignore lines to .gitattributes, under one header, and never removes a line
pollora-qa init keeps the files it creates out of the archive of a core, framework, integration or wp-plugin repository: .claude, .harness.json, AGENTS.md, rector.php, api-surface.json and composer-dependency-analyser.php, plus the tests, .github and tool configuration it finds. .gitattributes lists itself, since a tracked .gitattributes would otherwise travel in the archive