forked from silverstripe/silverstripe-standards
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0d0a4b0
commit 3cbf892
Showing
29 changed files
with
1,423 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# For more information about the properties used in | ||
# this file, please see the EditorConfig documentation: | ||
# http://editorconfig.org/ | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 4 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false | ||
|
||
[*.eslintrc] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[composer.json] | ||
indent_size = 4 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
/.github export-ignore | ||
/.gitattributes export-ignore | ||
/.gitignore export-ignore | ||
/phpunit.xml.dist export-ignore | ||
/phpcs.xml.dist export-ignore | ||
/tests export-ignore | ||
/.editorconfig export-ignore |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<!-- Blank templates are for use by maintainers only! If you aren't a maintainer, please go back and pick one of the issue templates. --> |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: 🪳 Bug Report | ||
description: Tell us if something isn't working the way it's supposed to | ||
|
||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
We strongly encourage you to [submit a pull request](https://docs.silverstripe.org/en/contributing/code/) which fixes the issue. | ||
Bug reports which are accompanied with a pull request are a lot more likely to be resolved quickly. | ||
- type: input | ||
id: affected-versions | ||
attributes: | ||
label: Module version(s) affected | ||
description: | | ||
What version of _this module_ have you reproduced this bug on? | ||
Run `composer info` to see the specific version of each module installed in your project. | ||
If you don't have access to that, check inside the help menu in the bottom left of the CMS. | ||
placeholder: x.y.z | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: description | ||
attributes: | ||
label: Description | ||
description: A clear and concise description of the problem | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: how-to-reproduce | ||
attributes: | ||
label: How to reproduce | ||
description: | | ||
⚠️ This is the most important part of the report ⚠️ | ||
Without a way to easily reproduce your issue, there is little chance we will be able to help you and work on a fix. | ||
- Please, take the time to show us some code and/or configuration that is needed for others to reproduce the problem easily. | ||
- If the bug is too complex to reproduce with some short code samples, please reproduce it in a public repository and provide a link to the repository along with steps for setting up and reproducing the bug using that repository. | ||
- If part of the bug includes an error or exception, please provide a full stack trace. | ||
- If any user interaction is required to reproduce the bug, please add an ordered list of steps that are required to reproduce it. | ||
- Be as clear as you can, but don't miss any steps out. Simply saying "create a page" is less useful than guiding us through the steps you're taking to create a page, for example. | ||
placeholder: | | ||
#### Code sample | ||
```php | ||
``` | ||
#### Reproduction steps | ||
1. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: possible-solution | ||
attributes: | ||
label: Possible Solution | ||
description: | | ||
*Optional: only if you have suggestions on a fix/reason for the bug* | ||
Please consider [submitting a pull request](https://docs.silverstripe.org/en/contributing/code/) with your solution! It helps get faster feedback and greatly increases the chance of the bug being fixed. | ||
- type: textarea | ||
id: additional-context | ||
attributes: | ||
label: Additional Context | ||
description: "*Optional: any other context about the problem: log messages, screenshots, etc.*" | ||
- type: checkboxes | ||
id: validations | ||
attributes: | ||
label: Validations | ||
description: "Before submitting the issue, please make sure you do the following:" | ||
options: | ||
- label: Check that there isn't already an issue that reports the same bug | ||
required: true | ||
- label: Double check that your reproduction steps work in a fresh installation of [`silverstripe/installer`](https://github.com/silverstripe/silverstripe-installer) (with any code examples you've provided) | ||
required: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: 🚀 Feature Request | ||
description: Submit a feature request (but only if you're planning on implementing it) | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please only submit feature requests if you plan on implementing the feature yourself. | ||
See the [contributing code documentation](https://docs.silverstripe.org/en/contributing/code/#make-or-find-a-github-issue) for more guidelines about submitting feature requests. | ||
- type: textarea | ||
id: description | ||
attributes: | ||
label: Description | ||
description: A clear and concise description of the new feature, and why it belongs in core | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: more-info | ||
attributes: | ||
label: Additional context or points of discussion | ||
description: | | ||
*Optional: Any additional context, points of discussion, etc that might help validate and refine your idea* | ||
- type: checkboxes | ||
id: validations | ||
attributes: | ||
label: Validations | ||
description: "Before submitting the issue, please confirm the following:" | ||
options: | ||
- label: You intend to implement the feature yourself | ||
required: true | ||
- label: You have read the [contributing guide](https://docs.silverstripe.org/en/contributing/code/) | ||
required: true | ||
- label: You strongly believe this feature should be in core, rather than being its own community module | ||
required: true | ||
- label: You have checked for existing issues or pull requests related to this feature (and didn't find any) | ||
required: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
blank_issues_enabled: true | ||
contact_links: | ||
- name: Security Vulnerability | ||
url: https://docs.silverstripe.org/en/contributing/issues_and_bugs/#reporting-security-issues | ||
about: ⚠️ We do not use GitHub issues to track security vulnerability reports. Click "open" on the right to see how to report security vulnerabilities. | ||
- name: Support Question | ||
url: https://www.silverstripe.org/community/ | ||
about: We use GitHub issues only to discuss bugs and new features. For support questions, please use one of the support options available in our community channels. |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<!-- | ||
Thanks for contributing, you're awesome! ⭐ | ||
Please read https://docs.silverstripe.org/en/contributing/code/ if you haven't contributed to this project recently. | ||
--> | ||
## Description | ||
<!-- | ||
Please describe expected and observed behaviour, and what you're fixing. | ||
For visual fixes, please include tested browsers and screenshots. | ||
--> | ||
|
||
## Manual testing steps | ||
<!-- | ||
Include any manual testing steps here which a reviewer can perform to validate your pull request works correctly. | ||
Note that this DOES NOT replace unit or end-to-end tests. | ||
--> | ||
|
||
## Issues | ||
<!-- | ||
List all issues here that this pull request fixes/resolves. | ||
If there is no issue already, create a new one! You must link your pull request to at least one issue. | ||
--> | ||
- # | ||
|
||
## Pull request checklist | ||
<!-- | ||
PLEASE check each of these to ensure you have done everything you need to do! | ||
If there's something in this list you need help with, please ask so that we can assist you. | ||
--> | ||
- [ ] The target branch is correct | ||
- See [picking the right version](https://docs.silverstripe.org/en/contributing/code/#picking-the-right-version) | ||
- [ ] All commits are relevant to the purpose of the PR (e.g. no debug statements, unrelated refactoring, or arbitrary linting) | ||
- Small amounts of additional linting are usually okay, but if it makes it hard to concentrate on the relevant changes, ask for the unrelated changes to be reverted, and submitted as a separate PR. | ||
- [ ] The commit messages follow our [commit message guidelines](https://docs.silverstripe.org/en/contributing/code/#commit-messages) | ||
- [ ] The PR follows our [contribution guidelines](https://docs.silverstripe.org/en/contributing/code/) | ||
- [ ] Code changes follow our [coding conventions](https://docs.silverstripe.org/en/contributing/coding_conventions/) | ||
- [ ] This change is covered with tests (or tests aren't necessary for this change) | ||
- [ ] Any relevant User Help/Developer documentation is updated; for impactful changes, information is added to the changelog for the intended release | ||
- [ ] CI is green |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
pull_request: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
ci: | ||
name: CI | ||
uses: silverstripe/gha-ci/.github/workflows/ci.yml@v1 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
name: Dispatch CI | ||
|
||
on: | ||
# At 3:15 AM UTC, only on Monday and Tuesday | ||
schedule: | ||
- cron: '15 3 * * 1,2' | ||
|
||
jobs: | ||
dispatch-ci: | ||
name: Dispatch CI | ||
# Only run cron on the silverstripe account | ||
if: (github.event_name == 'schedule' && github.repository_owner == 'silverstripe') || (github.event_name != 'schedule') | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Dispatch CI | ||
uses: silverstripe/gha-dispatch-ci@v1 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Keepalive | ||
|
||
on: | ||
# At 3:15 AM UTC, on day 16 of the month | ||
schedule: | ||
- cron: '15 3 16 * *' | ||
workflow_dispatch: | ||
|
||
jobs: | ||
keepalive: | ||
name: Keepalive | ||
# Only run cron on the silverstripe account | ||
if: (github.event_name == 'schedule' && github.repository_owner == 'silverstripe') || (github.event_name != 'schedule') | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Keepalive | ||
uses: silverstripe/gha-keepalive@v1 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Merge-up | ||
|
||
on: | ||
# At 3:15 AM UTC, only on Monday | ||
schedule: | ||
- cron: '15 3 * * 1' | ||
workflow_dispatch: | ||
|
||
jobs: | ||
merge-up: | ||
name: Merge-up | ||
# Only run cron on the silverstripe account | ||
if: (github.event_name == 'schedule' && github.repository_owner == 'silverstripe') || (github.event_name != 'schedule') | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Merge-up | ||
uses: silverstripe/gha-merge-up@v1 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/vendor/ | ||
/composer.lock | ||
.phpunit.result.cache |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
BSD 3-Clause License | ||
|
||
Copyright (c) 2024, Silverstripe Limited - www.silverstripe.com | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
* Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
|
||
* Redistributions in binary form must reproduce the above copyright notice, | ||
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution. | ||
|
||
* Neither the name of the copyright holder nor the names of its | ||
contributors may be used to endorse or promote products derived from | ||
this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | ||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Silverstripe standards | ||
|
||
This repository contains some dependencies, custom rules, and predefined rulesets which are used to help maintain coding standards for Silverstripe CMS commercially supported modules. | ||
|
||
## Installation | ||
|
||
To use this extension, require it in [Composer](https://getcomposer.org/): | ||
|
||
```bash | ||
composer require --dev silverstripe/standards | ||
``` | ||
|
||
If you also install [phpstan/extension-installer](https://github.com/phpstan/extension-installer) then you're all set! | ||
|
||
<details> | ||
<summary>Manual installation</summary> | ||
|
||
If you don't want to use `phpstan/extension-installer`, include rules.neon in your project's PHPStan config: | ||
|
||
```neon | ||
includes: | ||
- vendor/silverstripe/standards/rules.neon | ||
``` | ||
</details> |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"name": "silverstripe/standards", | ||
"description": "A set of coding standards which are applied to all commercially supported Silverstripe CMS modules", | ||
"license": "BSD-3-Clause", | ||
"require": { | ||
"php": "^8.1", | ||
"phpstan/phpstan": "^1.10" | ||
}, | ||
"require-dev": { | ||
"phpunit/phpunit": "^9.6", | ||
"squizlabs/php_codesniffer": "^3.7", | ||
"silverstripe/framework": "^5.2" | ||
}, | ||
"suggest": { | ||
"phpstan/extension-installer": "Automatically includes rules from this repo in your phpstan config" | ||
}, | ||
"autoload": { | ||
"psr-4": { | ||
"SilverStripe\\Standards\\": "src/" | ||
} | ||
}, | ||
"autoload-dev": { | ||
"psr-4": { | ||
"SilverStripe\\Standards\\Tests\\": "tests/" | ||
} | ||
}, | ||
"extra": { | ||
"phpstan": { | ||
"includes": [ | ||
"rules.neon" | ||
] | ||
} | ||
}, | ||
"minimum-stability": "dev", | ||
"prefer-stable": true | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<?xml version="1.0"?> | ||
<ruleset name="PSR12"> | ||
<rule ref="PSR12"/> | ||
<!-- Tests rely on some code from framework that won't pass this sniff --> | ||
<rule ref="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"> | ||
<exclude-pattern>*/tests/*</exclude-pattern> | ||
</rule> | ||
<file>./src</file> | ||
<file>./tests</file> | ||
</ruleset> |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<phpunit colors="true"> | ||
<testsuites> | ||
<testsuite name="default"> | ||
<directory>tests</directory> | ||
</testsuite> | ||
</testsuites> | ||
</phpunit> |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
rules: | ||
- SilverStripe\Standards\PHPStan\MethodAnnotationsRule | ||
|
||
parameters: | ||
# Setting customRulestUsed to true allows us to avoid using the built-in rules | ||
# until we're ready for them. For now, we only want to apply the specific rules | ||
# we've implemented ourselves. | ||
# In the future we can add a "level" config to re-enable built-in rules. | ||
customRulesetUsed: true |
Oops, something went wrong.