Merge branch '4.10' into 4.11

This commit is contained in:
Steve Boyd 2022-07-22 11:20:22 +12:00
commit f6693d4ea5
6 changed files with 57 additions and 36 deletions

16
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: CI
on:
push:
pull_request:
workflow_dispatch:
# Every Tuesday at 2:20pm UTC
schedule:
- cron: '20 14 * * 2'
jobs:
ci:
uses: silverstripe/gha-ci/.github/workflows/ci.yml@v1
with:
# Turn phpcoverage off because it causes a segfault
phpcoverage_force_off: true

16
.github/workflows/keepalive.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Keepalive
on:
# The 4th of every month at 10:50am UTC
schedule:
- cron: '50 10 4 * *'
workflow_dispatch:
jobs:
keepalive:
name: Keepalive
runs-on: ubuntu-latest
steps:
- name: Keepalive
uses: silverstripe/gha-keepalive@v1

View File

@ -1,6 +1,6 @@
## Silverstripe Framework ## Silverstripe Framework
[![Build Status](https://api.travis-ci.com/silverstripe/silverstripe-framework.svg?branch=4)](https://travis-ci.com/silverstripe/silverstripe-framework) [![CI](https://github.com/silverstripe/silverstripe-framework/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-framework/actions/workflows/ci.yml)
[![Build Docs](https://github.com/silverstripe/silverstripe-framework/workflows/Build%20Docs/badge.svg)](https://docs.silverstripe.org/) [![Build Docs](https://github.com/silverstripe/silverstripe-framework/workflows/Build%20Docs/badge.svg)](https://docs.silverstripe.org/)
[![Latest Stable Version](https://poser.pugx.org/silverstripe/framework/version.svg)](https://www.silverstripe.org/stable-download/) [![Latest Stable Version](https://poser.pugx.org/silverstripe/framework/version.svg)](https://www.silverstripe.org/stable-download/)
[![Latest Unstable Version](https://poser.pugx.org/silverstripe/framework/v/unstable.svg)](https://packagist.org/packages/silverstripe/framework) [![Latest Unstable Version](https://poser.pugx.org/silverstripe/framework/v/unstable.svg)](https://packagist.org/packages/silverstripe/framework)

View File

@ -1,34 +0,0 @@
# Run framework behat tests with this command (installed with silverstripe/installer)
# Note that framework behat tests require CMS module
# ========================================================================= #
# vendor/bin/selenium-server-standalone -Dwebdriver.firefox.bin="/Applications/Firefox31.app/Contents/MacOS/firefox-bin"
# vendor/bin/serve --bootstrap-file vendor/silverstripe/framework/tests/behat/serve-bootstrap.php
# vendor/bin/behat @framework
# ========================================================================= #
default:
suites:
framework:
paths:
- "%paths.modules.admin%/tests/behat/features"
contexts:
- SilverStripe\Framework\Tests\Behaviour\FeatureContext
- SilverStripe\Framework\Tests\Behaviour\CmsFormsContext
- SilverStripe\Framework\Tests\Behaviour\CmsUiContext
- SilverStripe\BehatExtension\Context\BasicContext
- SilverStripe\BehatExtension\Context\EmailContext
- SilverStripe\BehatExtension\Context\LoginContext
-
SilverStripe\BehatExtension\Context\FixtureContext:
- "%paths.modules.admin%/tests/behat/features/files/"
extensions:
SilverStripe\BehatExtension\MinkExtension:
default_session: facebook_web_driver
javascript_session: facebook_web_driver
facebook_web_driver:
browser: chrome
wd_host: "http://127.0.0.1:9515" #chromedriver port
SilverStripe\BehatExtension\Extension:
screenshot_path: "%paths.base%/artifacts/screenshots"
bootstrap_file: "tests/behat/serve-bootstrap.php"

View File

@ -8,6 +8,7 @@ use SilverStripe\ORM\DB;
use SilverStripe\ORM\FieldType\DBEnum; use SilverStripe\ORM\FieldType\DBEnum;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
use SilverStripe\Dev\SapphireTest; use SilverStripe\Dev\SapphireTest;
use SilverStripe\ORM\Connect\MySQLiConnector;
use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\SortedObject; use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\SortedObject;
use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\TestIndexObject; use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\TestIndexObject;
use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\TestObject; use SilverStripe\ORM\Tests\DataObjectSchemaGenerationTest\TestObject;
@ -67,11 +68,26 @@ class DataObjectSchemaGenerationTest extends SapphireTest
); );
} }
private function isMySQL8(): bool
{
$connector = DB::get_conn()->getConnector();
if ($connector instanceof MySQLiConnector &&
preg_match('#^8\.#', $connector->getVersion())
) {
return true;
}
return false;
}
/** /**
* Check that once a schema has been generated, then it doesn't need any more updating * Check that once a schema has been generated, then it doesn't need any more updating
*/ */
public function testFieldsDontRerequestChanges() public function testFieldsDontRerequestChanges()
{ {
// TODO: remove the MySQL8 skip when `int(11)` is no longer the default field type for integers and has been replaced with `int`
if ($this->isMySQL8()) {
$this->markTestSkipped();
}
$schema = DB::get_schema(); $schema = DB::get_schema();
$test = $this; $test = $this;
DB::quiet(); DB::quiet();
@ -126,6 +142,10 @@ class DataObjectSchemaGenerationTest extends SapphireTest
*/ */
public function testIndexesDontRerequestChanges() public function testIndexesDontRerequestChanges()
{ {
// TODO: remove the MySQL8 skip when `int(11)` is no longer the default field type for integers and has been replaced with `int`
if ($this->isMySQL8()) {
$this->markTestSkipped();
}
$schema = DB::get_schema(); $schema = DB::get_schema();
$test = $this; $test = $this;
DB::quiet(); DB::quiet();

View File

@ -7,7 +7,10 @@ use SilverStripe\ORM\DB;
class Utf8TestHelper implements TestOnly class Utf8TestHelper implements TestOnly
{ {
private ?string $dbVersion = null; /**
* @var string|null
*/
private $dbVersion = null;
public function getUpdatedUtfCharsetForCurrentDB(string $charset): string public function getUpdatedUtfCharsetForCurrentDB(string $charset): string
{ {