Skip to content

Commit

Permalink
v73.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
gammamatrix committed Jul 6, 2024
1 parent ea37e7f commit c833de1
Show file tree
Hide file tree
Showing 18 changed files with 202 additions and 57 deletions.
126 changes: 76 additions & 50 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'CI'
name: "CI"

on:
push:
Expand Down Expand Up @@ -30,9 +30,9 @@ jobs:
echo "TIMESTAMP_START=$(date +'%s')" >> $GITHUB_OUTPUT
- name: "Slack notification: IN PROGRESS"
id: slack
uses: slackapi/slack-github-action@v1.25.0
uses: slackapi/slack-github-action@v1.26.0
with:
channel-id: 'C068A06PV43'
channel-id: "C068A06PV43"
payload: |
{
"text": "CI Build Status for playground: IN PROGRESS\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
Expand All @@ -49,11 +49,11 @@ jobs:
"fields": [
{
"type": "mrkdwn",
"text": "*Start:*\n${{ steps.timer_start.outputs.DATE_START }}"
"text": "*Start:* <!date^${{ steps.timer_start.outputs.TIMESTAMP_START }}^{date} at {time}|${{ steps.timer_start.outputs.DATE_START }}>"
},
{
"type": "mrkdwn",
"text": "*End:*\n--"
"text": "*End:* --"
}
]
},
Expand All @@ -71,18 +71,25 @@ jobs:
]
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*PR:* ${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Build:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Merge/Pull Request"
},
"url": "${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Build: ${{ github.run_id }}"
},
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
Expand All @@ -102,6 +109,7 @@ jobs:
version: "11.0"
php_version: "8.2"
php_extensions: intl xdebug
configuration: phpunit-ci.xml
coverage_clover: clover.xml
coverage_text: true
- name: Make code coverage badge
Expand All @@ -110,7 +118,7 @@ jobs:
coverage_badge_path: output/coverage.svg
push_badge: false
- name: Git push to testing/develop branch
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
publish_dir: ./output
publish_branch: testing/develop
Expand All @@ -122,6 +130,7 @@ jobs:
level: 9
php_version: "8.2"
path: config/ database/ src/ tests/Feature/ tests/Unit/
args: --verbose --debug
- name: Stopping timer
if: ${{ !cancelled() }}
id: timer_end
Expand All @@ -130,10 +139,11 @@ jobs:
run: |
echo "DATE_END=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT
echo "DURATION_PHRASE=$(($(date +'%s')-$TIMESTAMP_START)) seconds" >> $GITHUB_OUTPUT
echo "TIMESTAMP_END=$(date +'%s')" >> $GITHUB_OUTPUT
- name: "Slack notification: Done"
uses: slackapi/slack-github-action@v1.25.0
uses: slackapi/slack-github-action@v1.26.0
with:
channel-id: 'C068A06PV43'
channel-id: "C068A06PV43"
update-ts: ${{ steps.slack.outputs.ts }}
payload: |
{
Expand All @@ -151,11 +161,11 @@ jobs:
"fields": [
{
"type": "mrkdwn",
"text": "*Start:*\n${{ steps.timer_start.outputs.DATE_START }}"
"text": "*Start:* <!date^${{ steps.timer_start.outputs.TIMESTAMP_START }}^{date} at {time}|${{ steps.timer_start.outputs.DATE_START }}>"
},
{
"type": "mrkdwn",
"text": "*End:*\n${{ steps.timer_end.outputs.DATE_END }}"
"text": "*End:* <!date^${{ steps.timer_end.outputs.TIMESTAMP_END }}^{date} at {time}|${{ steps.timer_end.outputs.DATE_END }}>"
}
]
},
Expand All @@ -173,28 +183,36 @@ jobs:
]
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*PR:* ${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Build:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Merge/Pull Request"
},
"url": "${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Build: ${{ github.run_id }}"
},
"style": "primary",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
- name: "Send a notification for failures"
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.25.0
uses: slackapi/slack-github-action@v1.26.0
with:
channel-id: 'C068A06PV43'
channel-id: "C068A06PV43"
update-ts: ${{ steps.slack.outputs.ts }}
payload: |
{
Expand All @@ -212,11 +230,11 @@ jobs:
"fields": [
{
"type": "mrkdwn",
"text": "*Start:*\n${{ steps.timer_start.outputs.DATE_START }}"
"text": "*Start:* <!date^${{ steps.timer_start.outputs.TIMESTAMP_START }}^{date} at {time}|${{ steps.timer_start.outputs.DATE_START }}>"
},
{
"type": "mrkdwn",
"text": "*End:*\n${{ steps.timer_end.outputs.DATE_END }}"
"text": "*End:* <!date^${{ steps.timer_end.outputs.TIMESTAMP_END }}^{date} at {time}|${{ steps.timer_end.outputs.DATE_END }}>"
}
]
},
Expand All @@ -234,18 +252,26 @@ jobs:
]
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*PR:* ${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Build:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Merge/Pull Request"
},
"url": "${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Build: ${{ github.run_id }}"
},
"style": "danger",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
}
},
"scripts": {
"test": "vendor/bin/phpunit",
"test": "vendor/bin/testbench package:test",
"format": "vendor/bin/php-cs-fixer fix",
"analyse": "vendor/bin/phpstan analyse --verbose --debug --level max"
}
Expand Down
2 changes: 2 additions & 0 deletions database/factories/UserFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

/**
* \Database\Factories\Playground\Models\UserFactory
*
* @extends Factory<User>
*/
class UserFactory extends Factory
{
Expand Down
3 changes: 2 additions & 1 deletion phpstan.neon.dist
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ parameters:

treatPhpDocTypesAsCertain: false

checkGenericClassInNonGenericObjectType: false
# editorUrl: 'vscode://file/%%file%%:%%line%%'
# editorUrl: 'phpstorm://open?file=%%file%%&line=%%line%%'
77 changes: 77 additions & 0 deletions phpunit-ci.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
colors="true"
stopOnSkipped="false"
backupGlobals="false"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutOutputDuringTests="true"
cacheResult="false"
failOnRisky="true"
failOnWarning="true"
processIsolation="false"
stopOnError="false"
stopOnFailure="false"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false"
displayDetailsOnIncompleteTests="true"
displayDetailsOnSkippedTests="true"
displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnTestsThatTriggerErrors="true"
displayDetailsOnTestsThatTriggerNotices="true"
displayDetailsOnTestsThatTriggerWarnings="true"
testdox="true">
<testsuites>
<testsuite name="Unit">
<directory>tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory>tests/Feature</directory>
</testsuite>
</testsuites>
<coverage
includeUncoveredFiles="true"
pathCoverage="false"
ignoreDeprecatedCodeUnits="true"
disableCodeCoverageIgnore="true">
<report>
<clover outputFile="output/clover.xml"/>
<cobertura outputFile="output/cobertura.xml"/>
<crap4j outputFile="output/crap4j.xml" threshold="50"/>
<!-- <html outputDirectory="output/html" lowUpperBound="50" highLowerBound="90"/> -->
<php outputFile="output/coverage.php"/>
<text outputFile="output/coverage.txt" showUncoveredFiles="false" showOnlySummary="true"/>
<!-- <xml outputDirectory="output/xml"/> -->
</report>
</coverage>
<logging>
<junit outputFile="output/junit.xml"/>
<teamcity outputFile="output/teamcity.txt"/>
<testdoxHtml outputFile="output/testdox.html"/>
<testdoxText outputFile="output/testdox.txt"/>
</logging>
<source>
<include>
<directory suffix=".php">src</directory>
</include>
</source>
<php>
<env name="APP_DEBUG" value="false"/>
<env name="APP_ENV" value="testing"/>
<env name="APP_KEY" value="base64:lNTGdmOOxP5uNUVuCj9FB//Ssn8JmRXBdtPEE4/QReE="/>
<env name="APP_MAINTENANCE_DRIVER" value="file"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_STORE" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
<!-- <env name="LOG_CHANNEL" value="stderr"/> -->
<env name="MAIL_MAILER" value="log"/>
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="TELESCOPE_ENABLED" value="false"/>
<env name="TEST_DB_MIGRATIONS" value="true"/>
<ini name="memory_limit" value="128M" />
</php>
</phpunit>
6 changes: 3 additions & 3 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
<testsuite name="Unit">
<directory>tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<!-- <testsuite name="Feature">
<directory>tests/Feature</directory>
</testsuite>
</testsuite> -->
</testsuites>
<coverage
includeUncoveredFiles="true"
Expand Down Expand Up @@ -71,7 +71,7 @@
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="TELESCOPE_ENABLED" value="false"/>
<env name="TEST_DB_MIGRATIONS" value="true"/>
<env name="TEST_DB_MIGRATIONS" value="false"/>
<ini name="memory_limit" value="128M" />
</php>
</phpunit>
3 changes: 3 additions & 0 deletions src/Models/Contracts/Revision.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/
namespace Playground\Models\Contracts;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;

/**
Expand All @@ -15,6 +16,8 @@ interface Revision
{
/**
* Get the revisions of the model.
*
* @return HasMany<Model>
*/
public function revisions(): HasMany;
}
3 changes: 3 additions & 0 deletions src/Models/Contracts/WithChildren.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/
namespace Playground\Models\Contracts;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;

/**
Expand All @@ -15,6 +16,8 @@ interface WithChildren
{
/**
* Get the children under the model.
*
* @return HasMany<Model>
*/
public function children(): HasMany;
}
Loading

0 comments on commit c833de1

Please sign in to comment.