If you would like to contribute, here are some notes and guidelines:
master branch once stable and approved; so the master branch is always the most up-to-date, working codemaster, and submit your pull request back as a fix/feature branch referencing the GitHub issue numbercomposer versions to test version compatibility.composer style will identify any issues with Coding Style`.composer fix will fix most issues with Coding Style.composer check.When writing Unit Tests, please
- Always try to write Unit Tests for both the happy and unhappy paths.
- Put all assertions in the Test itself, not in an abstract class that the Test extends (even if this means code duplication between tests).
- Include any necessary setup() and tearDown() in the Test itself.
- If you change any global settings (such as system locale, or Compatibility Mode for Excel Function tests), make sure that you reset to the default in the tearDown().
- Use the ExcelError functions in assertions for Excel Error values in Excel Function implementations.
Not only does it reduce the risk of typos; but at some point in the future, ExcelError values will be an object rather than a string, and we won't then need to update all the tests.
- Don't over-complicate test code by testing happy and unhappy paths in the same test.
This makes it easier to see exactly what is being tested when reviewing the PR. I want to be able to see it in the PR, not have to hunt in other unchanged classes to see what the test is doing.
git tag -a 1.2.31.2.3git push --tags, GitHub Actions will create a GitHub release automatically, and the release details will automatically be sent to packagist.Note: Tagged releases are made from the
masterbranch. Only in an emergency should a tagged release be made from thereleasebranch. (i.e. cherry-picked hot-fixes.)