From c8b69602ac3657c0b077dab02678f4740c560fe8 Mon Sep 17 00:00:00 2001 From: Art4 Date: Thu, 7 Nov 2024 17:55:26 +0100 Subject: [PATCH 1/3] Run behat tests with Redmine 5.1.4 and 5.0.10 --- composer.json | 4 ++-- docker-compose.yml | 18 +++++++++--------- tests/Behat/README.md | 6 +++--- tests/Behat/behat.yml | 8 ++++---- tests/RedmineExtension/RedmineVersion.php | 17 +++++++++++++++++ 5 files changed, 35 insertions(+), 18 deletions(-) diff --git a/composer.json b/composer.json index 55d10390..31226e9a 100644 --- a/composer.json +++ b/composer.json @@ -52,8 +52,8 @@ "scripts": { "bdt": [ "Composer\\Config::disableProcessTimeout", - "@behat --format=progress --suite=redmine_50103", - "@behat --format=progress --suite=redmine_50009", + "@behat --format=progress --suite=redmine_50104", + "@behat --format=progress --suite=redmine_50010", "@behat --format=progress --suite=redmine_40210" ], "behat": "behat --config tests/Behat/behat.yml", diff --git a/docker-compose.yml b/docker-compose.yml index 3d6f8f3f..88a70c35 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: - ./:/var/www/project/ # Location of the project for php-fpm. Note this should be the same for NGINX.* redmine-dev: - image: redmine:5.1.3 + image: redmine:5.1.4 user: "1000:1000" ports: - "3000:3000" @@ -25,8 +25,8 @@ services: # Make sure the following services are configured in: # - /tests/Behat/behat.yml - redmine-50103: - image: redmine:5.1.3 + redmine-50104: + image: redmine:5.1.4 user: "1000:1000" ports: - "5103:3000" @@ -34,11 +34,11 @@ services: REDMINE_SECRET_KEY_BASE: supersecretkey REDMINE_PLUGINS_MIGRATE: true volumes: - - ./.docker/redmine-50103_data/files:/usr/src/redmine/files - - ./.docker/redmine-50103_data/sqlite:/usr/src/redmine/sqlite + - ./.docker/redmine-50104_data/files:/usr/src/redmine/files + - ./.docker/redmine-50104_data/sqlite:/usr/src/redmine/sqlite - redmine-50009: - image: redmine:5.0.9 + redmine-50010: + image: redmine:5.0.10 user: "1000:1000" ports: - "5009:3000" @@ -46,8 +46,8 @@ services: REDMINE_SECRET_KEY_BASE: supersecretkey REDMINE_PLUGINS_MIGRATE: true volumes: - - ./.docker/redmine-50009_data/files:/usr/src/redmine/files - - ./.docker/redmine-50009_data/sqlite:/usr/src/redmine/sqlite + - ./.docker/redmine-50010_data/files:/usr/src/redmine/files + - ./.docker/redmine-50010_data/sqlite:/usr/src/redmine/sqlite redmine-40210: # Redmine 4.2.11 is not available on Docker Hub diff --git a/tests/Behat/README.md b/tests/Behat/README.md index b9c9c8a9..10929722 100644 --- a/tests/Behat/README.md +++ b/tests/Behat/README.md @@ -22,13 +22,13 @@ you can use the `behat` command directly: ```bash # test only a specific redmine version -docker compose exec php composer behat -- --suite=redmine_50103 +docker compose exec php composer behat -- --suite=redmine_50104 # test only specific endpoints docker compose exec php composer behat -- --tags=issue,group # test only specific endpoints on a specific redmine version -docker compose exec php composer behat -- --suite=redmine_50103 --tags=issue,group +docker compose exec php composer behat -- --suite=redmine_50104 --tags=issue,group # test only a specific redmine version and format the output as `progress` (default is `pretty`) -docker compose exec php composer behat -- --suite=redmine_50103 --format=progress +docker compose exec php composer behat -- --suite=redmine_50104 --format=progress ``` ## Redmine version specific features diff --git a/tests/Behat/behat.yml b/tests/Behat/behat.yml index c61984ad..da16bc83 100644 --- a/tests/Behat/behat.yml +++ b/tests/Behat/behat.yml @@ -1,17 +1,17 @@ default: suites: - redmine_50103: + redmine_50104: paths: - '%paths.base%/features' contexts: - Redmine\Tests\Behat\Bootstrap\FeatureContext: - redmineVersion: '5.1.3' - redmine_50009: + redmineVersion: '5.1.4' + redmine_50010: paths: - '%paths.base%/features' contexts: - Redmine\Tests\Behat\Bootstrap\FeatureContext: - redmineVersion: '5.0.9' + redmineVersion: '5.0.10' redmine_40210: paths: - '%paths.base%/features' diff --git a/tests/RedmineExtension/RedmineVersion.php b/tests/RedmineExtension/RedmineVersion.php index 58e3cde4..2278bb08 100644 --- a/tests/RedmineExtension/RedmineVersion.php +++ b/tests/RedmineExtension/RedmineVersion.php @@ -6,6 +6,14 @@ enum RedmineVersion: string { + /** + * Redmine 5.1.4 + * + * @link https://www.redmine.org/versions/197 + * @link https://www.redmine.org/projects/redmine/wiki/Changelog_5_1#514-2024-11-03 + */ + case V5_1_4 = '5.1.4'; + /** * Redmine 5.1.3 * @@ -47,6 +55,15 @@ enum RedmineVersion: string case V5_0_9 = '5.0.9'; + /** + * Redmine 5.0.10 + * + * @link https://www.redmine.org/versions/196 + * @link https://www.redmine.org/projects/redmine/wiki/Changelog_5_0#5010-2024-11-03 + */ + + case V5_0_10 = '5.0.10'; + /** * Redmine 5.0.8 * From ea059952537aea5188250d1e6f6f0b5c1433f8ab Mon Sep 17 00:00:00 2001 From: Art4 Date: Thu, 7 Nov 2024 18:03:44 +0100 Subject: [PATCH 2/3] Add version into composer.json see https://getcomposer.org/doc/articles/troubleshooting.md#root-package-version-detection --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index 31226e9a..1a618191 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,6 @@ { "name": "kbsali/redmine-api", + "version": "v2.7.0", "type": "library", "description": "Redmine API client", "homepage": "https://github.com/kbsali/php-redmine-api", From 21d8c19315c4fd6ad8ac370c177c72ad6590a58b Mon Sep 17 00:00:00 2001 From: Art4 Date: Thu, 7 Nov 2024 21:31:51 +0100 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263a6661..e5f2938a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - New class `Redmine\Http\HttpFactory` to create `Redmine\Http\Request` and `Redmine\Http\Response` instances. +### Changed + +- Behaviour-driven tests are run against Redmine 5.1.4, 5.0.10 and 4.2.10. + ### Deprecated - `Redmine\Client\Client::requestGet()` is deprecated, use `\Redmine\Client\Client::request()` instead.