Skip to content

Commit 74233ce

Browse files
Silverstripe 6 support
1 parent 7546eb3 commit 74233ce

5 files changed

Lines changed: 17 additions & 96 deletions

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ on:
1515

1616

1717
jobs:
18-
silverstripe_5_php81:
19-
name: "Silverstripe 5.4 | PHP 8.1"
18+
silverstripe_6_php81:
19+
name: "Silverstripe 6.0 | PHP 8.3"
2020
runs-on: ubuntu-latest
2121
env:
22-
php_version: 8.1
22+
php_version: 8.3
2323
php_extensions: ctype, dom, fileinfo, hash, intl, mbstring, session, simplexml, tokenizer, xml, pdo, mysqli, gd, zip
2424
services:
2525
mysql:
26-
image: mysql:5.7
26+
image: mysql:8.0
2727
env:
2828
MYSQL_ALLOW_EMPTY_PASSWORD: false
2929
MYSQL_ROOT_PASSWORD: testpassword
@@ -42,7 +42,7 @@ jobs:
4242
with:
4343
php-version: ${{ env.php_version }}
4444
extensions: ${{ env.php_extensions }}
45-
key: php74-ext-cache-${{ hashFiles('.github/workflows/ci.yml') }}
45+
key: php83-ext-cache-${{ hashFiles('.github/workflows/ci.yml') }}
4646

4747
- name: Cache PHP Extensions
4848
uses: actions/cache@v4
@@ -80,87 +80,8 @@ jobs:
8080
composer config allow-plugins.composer/installers true
8181
composer config allow-plugins.silverstripe/recipe-plugin true
8282
composer config allow-plugins.silverstripe/vendor-plugin true
83-
composer require silverstripe/admin 2.4.* --no-update
84-
composer require silverstripe/versioned 2.4.*
85-
composer install --verbose --no-interaction --no-progress --no-suggest --optimize-autoloader --ansi
86-
87-
- name: Configure Environment
88-
run: |
89-
cp tests/utils/actions.env.template .env
90-
mkdir artifacts
91-
92-
- name: Perform PHPUnit Tests
93-
env:
94-
SS_DATABASE_PORT: ${{ job.services.mysql.ports['3306'] }}
95-
run: vendor/bin/phpunit --colors=always --printer UndefinedOffset\\SortableGridField\\Tests\\PHPUnit\\Bootstrap\\GitHubActionsAnnotatorPrinter
96-
97-
silverstripe_413_php80:
98-
name: "Silverstripe 4.13 | PHP 8.0"
99-
runs-on: ubuntu-latest
100-
env:
101-
php_version: 8.0
102-
php_extensions: ctype, dom, fileinfo, hash, intl, mbstring, session, simplexml, tokenizer, xml, pdo, mysqli, gd, zip
103-
services:
104-
mysql:
105-
image: mysql:5.7
106-
env:
107-
MYSQL_ALLOW_EMPTY_PASSWORD: false
108-
MYSQL_ROOT_PASSWORD: testpassword
109-
MYSQL_DATABASE: test_db
110-
ports:
111-
- 3306/tcp
112-
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
113-
114-
steps:
115-
- name: Checkout
116-
uses: actions/checkout@v4
117-
118-
- name: Setup PHP Extension Cache
119-
id: cache-env
120-
uses: shivammathur/cache-extensions@v1
121-
with:
122-
php-version: ${{ env.php_version }}
123-
extensions: ${{ env.php_extensions }}
124-
key: php80-ext-cache-${{ hashFiles('.github/workflows/ci.yml') }}
125-
126-
- name: Cache PHP Extensions
127-
uses: actions/cache@v4
128-
with:
129-
path: ${{ steps.cache-env.outputs.dir }}
130-
key: ${{ steps.cache-env.outputs.key }}
131-
restore-keys: ${{ steps.cache-env.outputs.key }}
132-
133-
- name: Setup PHP, with composer and extensions
134-
uses: shivammathur/setup-php@v2
135-
with:
136-
php-version: ${{ env.php_version }}
137-
extensions: ${{ env.php_extensions }}
138-
ini-values: log_errors=On, error_log="${{github.workspace}}/artifacts/php_errors.log"
139-
coverage: none
140-
tools: composer:v2
141-
142-
- name: Get composer cache directory
143-
id: composer-cache
144-
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
145-
146-
- name: Cache composer dependencies
147-
uses: actions/cache@v4
148-
with:
149-
path: ${{ steps.composer-cache.outputs.dir }}
150-
key: ${{ runner.os }}-composer-ss411-php80-${{ hashFiles('**/composer.json') }}-${{ hashFiles('.github/workflows/ci.yml') }}
151-
restore-keys: ${{ runner.os }}-composer-ss411-php80-
152-
153-
- name: Install Composer dependencies
154-
env:
155-
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
156-
run: |
157-
composer self-update --ansi || true
158-
if [[ $GITHUB_ACCESS_TOKEN ]]; then composer config --ansi -g github-oauth.github.com $GITHUB_ACCESS_TOKEN; fi
159-
composer config allow-plugins.composer/installers true
160-
composer config allow-plugins.silverstripe/recipe-plugin true
161-
composer config allow-plugins.silverstripe/vendor-plugin true
162-
composer require silverstripe/admin 1.13.* --no-update
163-
composer require silverstripe/versioned 1.13.*
83+
composer require silverstripe/admin 3.0.* --no-update
84+
composer require silverstripe/versioned 3.0.*
16485
composer install --verbose --no-interaction --no-progress --no-suggest --optimize-autoloader --ansi
16586
16687
- name: Configure Environment
@@ -177,7 +98,7 @@ jobs:
17798
name: "PHP_CodeSniffer"
17899
runs-on: ubuntu-latest
179100
env:
180-
php_version: 8.0
101+
php_version: 8.3
181102
php_extensions: ctype, dom, fileinfo, hash, intl, mbstring, session, simplexml, tokenizer, xml, pdo, mysqli, gd, zip
182103

183104
steps:
@@ -190,7 +111,7 @@ jobs:
190111
with:
191112
php-version: ${{ env.php_version }}
192113
extensions: ${{ env.php_extensions }}
193-
key: php74-ext-cache-${{ hashFiles('.github/workflows/ci.yml') }}
114+
key: php83-ext-cache-${{ hashFiles('.github/workflows/ci.yml') }}
194115

195116
- name: Cache PHP Extensions
196117
uses: actions/cache@v4

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Adds drag and drop functionality to Silverstripe's GridField
1111

1212
## Requirements
1313

14-
* Silverstripe 4.11+ or 5.0+
14+
* Silverstripe 6.0+
1515

1616
## Installation
1717

composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
}
1313
],
1414
"require": {
15-
"silverstripe/framework": "~4.11 | ^5",
16-
"silverstripe/versioned": "^1 | ^2"
15+
"silverstripe/framework": "~6.0",
16+
"silverstripe/versioned": "^2"
1717
},
1818
"require-dev": {
19-
"phpunit/phpunit": "^9.5",
19+
"phpunit/phpunit": "^11.3",
2020
"squizlabs/php_codesniffer": "~3.4"
2121
},
2222
"autoload": {

phpunit.xml.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/silverstripe/framework/tests/bootstrap.php" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/silverstripe/framework/tests/bootstrap.php" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.5/phpunit.xsd">
33
<testsuites>
44
<testsuite name="Default">
55
<directory suffix=".php">tests/PHPUnit</directory>

src/Forms/GridFieldSortableRows.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use SilverStripe\Core\ClassInfo;
77
use SilverStripe\Core\Config\Config;
88
use SilverStripe\Core\Injector\Injector;
9+
use SilverStripe\Core\Validation\ValidationException;
910
use SilverStripe\Forms\GridField\AbstractGridFieldComponent;
1011
use SilverStripe\Forms\GridField\GridField;
1112
use SilverStripe\Forms\GridField\GridField_ActionProvider;
@@ -15,17 +16,16 @@
1516
use SilverStripe\Forms\GridField\GridFieldFilterHeader;
1617
use SilverStripe\Forms\GridField\GridFieldPaginator;
1718
use SilverStripe\Forms\GridField\GridFieldSortableHeader;
19+
use SilverStripe\Model\ArrayData;
20+
use SilverStripe\Model\List\SS_List;
1821
use SilverStripe\ORM\DataObject;
1922
use SilverStripe\ORM\DataObjectSchema;
2023
use SilverStripe\ORM\DB;
2124
use SilverStripe\ORM\ManyManyList;
2225
use SilverStripe\ORM\ManyManyThroughList;
2326
use SilverStripe\ORM\RelationList;
24-
use SilverStripe\ORM\SS_List;
2527
use SilverStripe\ORM\UnsavedRelationList;
26-
use SilverStripe\ORM\ValidationException;
2728
use SilverStripe\Versioned\Versioned;
28-
use SilverStripe\View\ArrayData;
2929
use SilverStripe\View\Requirements;
3030

3131
/**

0 commit comments

Comments
 (0)