-
-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document QA and development details #123
Comments
My two pennies: I think we also may want to review which tools are used and for what reason.
For any PHP tools/tools installed via Composer, I'm generally a fan of documenting the "how to use" by adding a command for each to the Composer
As this is a Composer plugin written in PHP, I think we can safely assume that contributors will have PHP and Composer installed. For everything else, detailed instructions would be needed. It may be worth investigating whether there is a Composer package available as an alternative to the currently used (non-Composer based) tooling and to use that instead as it will make it much easier for people to replicate the checks locally.
Yes, with a link to the authoritative article listing the rules. |
Note: if all tooling used would be Composer based, we could even have a |
I'd rather opt for using docker or I prefer having Yaml and JSON checks but I don't think there is much value in developers running them locally. That would leave I've added docker commands to as composer scripts in other projects, as documentation on how things should be run, but I ran into problems that didn't happen when docker was run direct (like timeouts and formatting issues). Although I'm in favour of adding Composer I'll think about this some more whilst writing the docs, see if any insights change... |
Also @mjrider, you seem awful quiet, considering the topic... 😈 |
That does presume contributing devs use Docker (I don't).
Agreed. IMO scripts in the composer file should be able to run after doing So adding a script for |
I don't agree with this reasoning.
|
Re the JSON check: we could probably use Composer Normalize instead. Mind: if/when we add tests, those will probably contain Composer config files to test various situations. I'm not sure we should run any validation on them as it may prevent testing some outlier situations. |
With respect to the json/yaml lint so the difference is between content and well-formed of the file and i would advocate for the fact that both are checked |
Looking at the recent PRs, I honestly think we need to turn
PR #128 fixes those line length issues which can be fixed. Other than that, the remaining warnings are just noise. |
This issue addresses a point of concern raised in the conversation of #122
There seems to be a lot of implicit knowledge assumed regarding the GitHub actions we run.
After having documented the current release process, it might also be good to document how to run all of the QA tools in our current pipeline locally, during development.
Any other non-QA tooling should also be documented.
The following tools are used and should be documented:
We use Pipeline-Components, which are basically just Docker images wrapped around a specific tool.
The options, from top to bottom are:
act --job job-name
docker run -v $PWD:/code pipelinecomponents/some-tool --no-stdout .
Not sure which route is the best to go and how much to explain or knowledge to assume (i.e. what to explain and where to link to the Remark docs).
Also:
.gitignore
file?The text was updated successfully, but these errors were encountered: