Skip to content

Commit

Permalink
Transform issue templates and CI workflows into new format
Browse files Browse the repository at this point in the history
Issue templates have been updated from Markdown to YAML forms to improve usability. Continuous Integration workflows have been revised and enhanced for more efficient performance. This includes the removal of old workflows and introduction of new ones such as Infection for mutation testing and other automatic releases setup.
Testing files and other configurations have also been adjusted to align with the new setup and the latest standards.
  • Loading branch information
Spomky committed Apr 12, 2024
1 parent e9ca7ad commit 5bd6744
Show file tree
Hide file tree
Showing 32 changed files with 581 additions and 244 deletions.
11 changes: 6 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
* text=auto

/.github export-ignore
/doc export-ignore
/tests export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.php_cs.dist export-ignore
/.scrutinizer.yml export-ignore
/.travis.yml export-ignore
/CODE_OF_CONDUCT.md export-ignore
/README.md export-ignore
/ecs.php export-ignore
/infection.json export-ignore
/Makefile export-ignore
/phpstan.neon export-ignore
/phpunit.xml.dist export-ignore
/README.md export-ignore
/SECURITY.md export-ignore
/rector.php export-ignore
21 changes: 0 additions & 21 deletions .github/ISSUE_TEMPLATE/1_Bug_report.md

This file was deleted.

43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/1_Bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 🐛 Bug Report
description: ⚠️ NEVER report security issues, email security AT spomky-labs.com instead
labels: Bug

body:
- type: input
id: affected-versions
attributes:
label: Version(s) affected
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 config that is needed for others to reproduce the problem easily.
Most of the time, creating a "bug reproducer" is the best way to help us and increases the chances someone
will have a look at it.
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
Don't hesitate to create a pull request with your solution, it helps get faster feedback.
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: "Optional: any other context about the problem: log messages, screenshots, etc."
12 changes: 0 additions & 12 deletions .github/ISSUE_TEMPLATE/2_Feature_request.md

This file was deleted.

17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/2_Feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: 🚀 Feature Request
description: RFC and ideas for new features and improvements
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of the new feature
validations:
required: true
- type: textarea
id: example
attributes:
label: Example
description: |
A simple example of the new feature in action (include PHP code, YAML config, etc.)
If the new feature changes an existing feature, include a simple before/after comparison.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/3_Documentation.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: 📖 Documentation Issue
description: To report typo or obsolete section in the documentation
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of the error you found in the documentation
validations:
required: true
5 changes: 0 additions & 5 deletions .github/ISSUE_TEMPLATE/3_Documentation_issue.md

This file was deleted.

5 changes: 4 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: Support Question
url: https://spomky-labs.com/contact/
about: We use GitHub issues only to discuss about bugs and new features. For this kind of questions about using the library, please use Stackoverflow (or similar) or send a quote request at https://spomky-labs.com/contact/
about:|
We use GitHub issues only to discuss about bugs and new features.
For this kind of questions about using the framework or third-party bundles,
please email us contact AT spomky-labs.com for quoting
38 changes: 21 additions & 17 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
| Q | A
| ------------- | ---
| Branch? | <!-- see below -->
| Bug fix? | yes/no
| New feature? | yes/no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
Target branch:
Resolves issue # <!-- #-prefixed issue number(s), if any -->

<!-- replace space with "x" in square brackets: [x] -->
- [ ] It is a Bug fix
- [ ] It is a New feature
- [ ] It is related to dependencies
- [ ] It is a code style update
- [ ] It is a dependency update
- [ ] It is a test update

Includes:
- [ ] Breaks BC
- [ ] Deprecations

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Fill in this template according to the PR you're about to submit.
Replace this comment by a description of what your PR is solving.
Additionally:
- Always add tests and ensure they pass.
- Never break backward compatibility (unless you are working on the next major release branch).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against the last major branch (e.g. 1.x).
-->
Please consider the following requirement:
* Modification of existing tests should be avoided unless deemed necessary.
* You MUST never open a PR related to a security issue. Contact Spomky in private at https://gitter.im/Spomky/
-->
23 changes: 17 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
version: 2
updates:
- package-ecosystem: composer
directory: "/"
schedule:
interval: daily
time: "04:00"
open-pull-requests-limit: 10
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
versioning-strategy: "widen"
open-pull-requests-limit: 20
allow:
- dependency-type: all
labels: ["Dependencies"]

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
open-pull-requests-limit: 20
labels: ["Dependencies"]
2 changes: 1 addition & 1 deletion .github/stale.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
daysUntilStale: 60
daysUntilStale: 30
daysUntilClose: 7
staleLabel: wontfix
markComment: >
Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/coding-standards.yml

This file was deleted.

32 changes: 32 additions & 0 deletions .github/workflows/infection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "Infection"

on:
push:
branches:
- "*.x"

jobs:
mutation_testing:
name: "5️⃣ Mutation Testing"
runs-on: "ubuntu-latest"
steps:
- name: "Set up PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "8.3"
extensions: "json, mbstring, openssl, sqlite3, curl, uuid"

- name: "Checkout code"
uses: "actions/checkout@v4"

- name: "Fetch Git base reference"
run: "git fetch --depth=1 origin ${GITHUB_BASE_REF}"

- name: "Install dependencies"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "highest"
composer-options: "--optimize-autoloader"

- name: "Execute Infection"
run: "make ci-mu"
Loading

0 comments on commit 5bd6744

Please sign in to comment.