Skip to content

Commit

Permalink
Merge branch '9.x' into 10.x
Browse files Browse the repository at this point in the history
Signed-off-by: Mior Muhammad Zaki <[email protected]>
  • Loading branch information
crynobone committed Dec 25, 2024
2 parents 1107125 + 2f3e8c6 commit 86a449b
Show file tree
Hide file tree
Showing 8 changed files with 298 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: crynobone
liberapay: # crynobone
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # ["https://paypal.me/crynobone"]
13 changes: 7 additions & 6 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,26 @@ on:

jobs:
tests-on-phpunit-10:
runs-on: ${{ matrix.os }}
runs-on: "ubuntu-latest"
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
os:
- "ubuntu-latest"
php:
- 8.2
- 8.3
- 8.4
phpunit:
- "^11.0"
- "^10.5"
- "~10.5"
- "~11.3"
- "~11.4"
- "~11.5"
dependencies:
- "highest"
- "lowest"
experimental:
- false

name: PHP:${{ matrix.php }} with PHPUnit:${{ matrix.phpunit }} on ${{ matrix.os }} (${{ matrix.dependencies }})
name: PHP:${{ matrix.php }} / PHPUnit:${{ matrix.phpunit }} ${{ matrix.dependencies == 'highest' && '⬆️' || '⬇️' }}

steps:
- name: Checkout repository and submodules
Expand Down
130 changes: 130 additions & 0 deletions CHANGELOG-8.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,136 @@

This changelog references the relevant changes (bug and security fixes) done to `orchestra/testbench`.

## 8.31.0

Released: 2024-12-26

### Changes

* Update minimum support for Testbench Core v8.32.0+. ([v8.31.0...v8.32.0](https://github.com/orchestral/testbench-core/compare/v8.31.0...v8.32.0))

#### Testbench Changes

##### Added

* Add ability to symlink directory in from skeleton to package.

##### Changes

* Add `Orchestra\Testbench\Workbench\Workbench::flushCachedClassAndNamespaces()` to flush cached namespaces and classes during installation.
* Use `realpath()` on `vendor:publish` output.

## 8.30.0

Released: 2024-12-16

### Changes

* Update minimum support for Testbench Core v8.31.0+. ([v8.30.0...v8.31.0](https://github.com/orchestral/testbench-core/compare/v8.30.0...v8.31.0))

#### Testbench Changes

##### Added

* Added `Orchestra\Testbench\transform_realpath_to_relative()` function.
* Override Laravel's `vendor:publish` command.

##### Changes

* Add `$force` parameter to `Orchestra\Testbench\Workbench\Workbench::detectNamespace()` method.

## 8.29.0

Released: 2024-12-01

### Changes

* Update minimum support for Testbench Core v8.30.0+. ([v8.29.0...v8.30.0](https://github.com/orchestral/testbench-core/compare/v8.29.0...v8.30.0))

#### Testbench Changes

##### Added

* Added ability to detect Workbench namespace via `Orchestra\Testbench\Workbench\Workbench::detectNamespace()` method.
* Added ability to detect the default user model via `Orchestra\Testbench\Workbench\Workbench::applicationUserModel()` method.
* Added support for authentication routes within Workbench by configurating `workbench.auth` config to `true`.
* Added new `package:sync-skeleton` command.

##### Changes

* Testbench Dusk integration improvements:
- Refactor `Orchestra\Testbench\Bootstrap\LoadConfiguration` and `Orchestra\Testbench\Bootstrap\LoadConfigurationWithWorkbench` to allow being extended by Testbench Dusk.
- Refactor `Orchestra\Testbench\Console\Commander`.
* Add multiple environment variables to Laravel 10 skeleton's configuration files based on changes made for Laravel 11.
* Add `$tty` parameter to `Orchestra\Testbench\remote()` function.
* Refactor `Orchestra\Testbench\Foundation\Bootstrap\CreateVendorSymlink` class and mark it as `@api`.
* Add `$backupExistingFile` and `$resetOnTerminating` parameter to following methods in `Orchestra\Testbench\Foundation\Console\Concerns\CopyTestbenchFiles` trait:
- `copyTestbenchConfigurationFile()`
- `copyTestbenchDotEnvFile()`

##### Deprecated

* Deprecate `Orchestra\Testbench\Foundation\Console\Concerns\HandleTerminatingConsole` trait, use `Orchestra\Testbench\Foundation\Console\TerminatingConsole` class instead.

## 8.28.0

Released: 2024-11-19

### Changes

* Update minimum support for Testbench Core v8.29.0+. ([v8.28.3...v8.29.0](https://github.com/orchestral/testbench-core/compare/v8.28.3...v8.29.0))

#### Testbench Changes

##### Added

* Added `Orchestra\Testbench\Foundation\Bootstrap\DeleteVendorSymlink` class.
* Added `Orchestra\Testbench\Concerns\InteractsWithMockery` trait.
* Added `--database` option to `package:create-sqlite-db` command.
* Added `--database` and `--all` options to `package:drop-sqlite-db` command.
* Added `Orchestra\Testbench\php_binary()` function.
* Allows `laravel/serializable-closure` 2.

### Changes

* Change `resolveApplicationResolvingCallback()` method visibility from `private` to `protected`.
* Ensure database directory exists when running `package:create-sqlite-db`.
* Allow configuring `PHP_CLI_SERVER_WORKERS` via Composer Script.
* Improves `CTRL+C` and `CTRL+BREAK` supports on Windows without `pcntl` extension.
* `Orchestra\Testbench\Foundation\Console\Actions\GeneratesFile` should be able to handle `$from` and `$to` when given as `false` or `null`.

## 8.27.2

Released: 2024-10-06

### Changes

* Update minimum support for Testbench Core v8.28.3+. ([v8.28.2...v8.28.3](https://github.com/orchestral/testbench-core/compare/v8.28.2...v8.28.3))

#### Testbench Changes

##### Fixes

* Prevent seeder from being executed when `shouldSeed()` exists and return `false`.

## 8.27.1

Released: 2024-10-05

### Changes

* Update minimum support for Testbench Core v8.28.2+. ([v8.28.1...v8.28.2](https://github.com/orchestral/testbench-core/compare/v8.28.1...v8.28.2))

#### Testbench Changes

##### Changes

* Listen to `SIGHUP`, `SIGUSR1`, and `SIGUSR2` signals via Testbench CLI.

##### Fixes

* Fixes Testbench CLI signals via `serve` command to reset published `.env` and `testbench.yaml`.

## 8.27.0

Released: 2024-09-23
Expand Down
151 changes: 151 additions & 0 deletions CHANGELOG-9.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,157 @@

This changelog references the relevant changes (bug and security fixes) done to `orchestra/testbench`.

## 9.9.0

Released: 2024-12-26

### Changes

* Update minimum support for Testbench Core v9.9.0+. ([v9.8.0...v9.9.0](https://github.com/orchestral/testbench-core/compare/v9.8.0...v9.9.0))

#### Testbench Changes

##### Added

* Add ability to symlink directory in from skeleton to package.

##### Changes

* Update skeleton to match v11.5.0.
* Add `Orchestra\Testbench\Workbench\Workbench::flushCachedClassAndNamespaces()` to flush cached namespaces and classes during installation.
* Use `realpath()` on `vendor:publish` output.

## 9.8.0

Released: 2024-12-16

### Changes

* Update minimum support for Testbench Core v9.8.0+. ([v9.7.0...v9.8.0](https://github.com/orchestral/testbench-core/compare/v9.7.0...v9.8.0))

#### Testbench Changes

##### Added

* Added `Orchestra\Testbench\transform_realpath_to_relative()` function.
* Override Laravel's `vendor:publish` command.

##### Changes

* Add `$force` parameter to `Orchestra\Testbench\Workbench\Workbench::detectNamespace()` method.

## 9.7.0

Released: 2024-12-01

### Changes

* Update minimum support for Testbench Core v9.7.0+. ([v9.6.2...v9.7.0](https://github.com/orchestral/testbench-core/compare/v9.6.2...v9.7.0))

#### Testbench Changes

##### Added

* Added ability to detect Workbench namespace via `Orchestra\Testbench\Workbench\Workbench::detectNamespace()` method.
* Added ability to detect the default user model via `Orchestra\Testbench\Workbench\Workbench::applicationUserModel()` method.
* Added support for authentication routes within Workbench by configurating `workbench.auth` config to `true`.
* Added new `package:sync-skeleton` command.

##### Changes

* Testbench Dusk integration improvements:
- Refactor `Orchestra\Testbench\Bootstrap\LoadConfiguration` and `Orchestra\Testbench\Bootstrap\LoadConfigurationWithWorkbench` to allow being extended by Testbench Dusk.
- Refactor `Orchestra\Testbench\Console\Commander`.
* Add `$tty` parameter to `Orchestra\Testbench\remote()` function.
* Refactor `Orchestra\Testbench\Foundation\Bootstrap\CreateVendorSymlink` class and mark it as `@api`.
* Add `$backupExistingFile` and `$resetOnTerminating` parameter to following methods in `Orchestra\Testbench\Foundation\Console\Concerns\CopyTestbenchFiles` trait:
- `copyTestbenchConfigurationFile()`
- `copyTestbenchDotEnvFile()`
* Supports `laravel/serializable-closure` v2.

##### Deprecated

* Deprecate `Orchestra\Testbench\Foundation\Console\Concerns\HandleTerminatingConsole` trait, use `Orchestra\Testbench\Foundation\Console\TerminatingConsole` class instead.

## 9.6.1

Released: 2024-11-20

### Changes

* Update minimum support for Testbench Core v9.6.2+. ([v9.6.0...v9.6.2](https://github.com/orchestral/testbench-core/compare/v9.6.0...v9.6.2))

#### Testbench Changes

##### Fixes

* Fixes `route:cache` when `health: true` configured using `testbench.yaml`.
* Fixes compatibility with Laravel Framework v11.33.0.

## 9.6.0

Released: 2024-11-19

### Changes

* Update minimum support for Testbench Core v9.6.0+. ([v9.5.3...v9.6.0](https://github.com/orchestral/testbench-core/compare/v9.5.3...v9.6.0))

#### Testbench Changes

##### Added

* Added `Orchestra\Testbench\Foundation\Bootstrap\DeleteVendorSymlink` class.
* Added `Orchestra\Testbench\Concerns\InteractsWithMockery` trait.
* Added `--database` option to `package:create-sqlite-db` command.
* Added `--database` and `--all` options to `package:drop-sqlite-db` command.
* Added `Orchestra\Testbench\php_binary()` function.
* Allows `laravel/serializable-closure` 2.
* Added draft support for PHP 8.4.

##### Changes

* Ensure database directory exists when running `package:create-sqlite-db`.
* Allow configuring `PHP_CLI_SERVER_WORKERS` via Composer Script.
* Improves `CTRL+C` and `CTRL+BREAK` supports on Windows without `pcntl` extension.
* `Orchestra\Testbench\Foundation\Console\Actions\GeneratesFile` should be able to handle `$from` and `$to` when given as `false` or `null`.

##### Fixed

* Fixed `#[WithMigration('queue')]` should load the default migrations.

## 9.5.2

Released: 2024-10-06

### Changes

* Update minimum support for Testbench Core v9.5.3+. ([v9.5.2...v9.5.3](https://github.com/orchestral/testbench-core/compare/v9.5.2...v9.5.3))

#### Testbench Changes

##### Fixes

* Prevent seeder from being executed when `shouldSeed()` exists and return `false`.

## 9.5.1

Released: 2024-10-05

### Changes

* Update minimum support for Testbench Core v9.5.2+. ([v9.5.0...v9.5.2](https://github.com/orchestral/testbench-core/compare/v9.5.0...v9.5.2))

#### Testbench Changes

##### Changes

* Listen to `SIGHUP`, `SIGUSR1`, and `SIGUSR2` signals via Testbench CLI.
* Update `config/concurrency.php` configuration file.

##### Fixes

* Fixes Testbench CLI signals via `serve` command to reset published `.env` and `testbench.yaml`.

## 9.5.0

Released: 2024-09-23
Expand Down
8 changes: 4 additions & 4 deletions bin/sync
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ $files->copy("{$workingPath}/vendor/orchestra/testbench-core/testbench.yaml", "{
Illuminate\Support\Collection::make([
...$files->allFiles("{$workingPath}/vendor/orchestra/testbench-core/workbench/app/"),
])->flatten()
->filter(fn ($file) => is_file($file))
->each(function ($file) use ($files, $workingPath) {
->filter(static fn ($file) => is_file($file))
->each(static function ($file) use ($files, $workingPath) {
$filename = "{$workingPath}/workbench".Illuminate\Support\Str::after($file, "{$workingPath}/vendor/orchestra/testbench-core/workbench");
$files->ensureDirectoryExists(Illuminate\Support\Str::before($filename, basename($filename)));
$files->copy($file, $filename);
Expand All @@ -30,8 +30,8 @@ Illuminate\Support\Collection::make([
...$files->allFiles("{$workingPath}/vendor/orchestra/testbench-core/workbench/routes/"),
...$files->allFiles("{$workingPath}/vendor/orchestra/testbench-core/workbench/resources/"),
])->flatten()
->filter(fn ($file) => is_file($file))
->each(function ($file) use ($files, $workingPath) {
->filter(static fn ($file) => is_file($file))
->each(static function ($file) use ($files, $workingPath) {
$filename = "{$workingPath}/workbench".Illuminate\Support\Str::after($file, "{$workingPath}/vendor/orchestra/testbench-core/workbench");
$files->ensureDirectoryExists(Illuminate\Support\Str::before($filename, basename($filename)));
$files->copy($file, $filename);
Expand Down
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"post-autoload-dump": "@prepare",
"prepare": "@php vendor/bin/testbench package:discover --ansi",
"test": "@php vendor/bin/phpunit -c ./ --color",
"sync": "@php bin/sync",
"ci": [
"@prepare",
"@test"
Expand Down
1 change: 0 additions & 1 deletion phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
</exclude>
</groups>
<php>
<server name="APP_KEY" value="AckfSECXIvnK5r28GVIWUAxmbBSjTsmF"/>
<server name="RAY_ENABLED" value="(true)"/>
</php>
</phpunit>
4 changes: 4 additions & 0 deletions testbench.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ workbench:
api: true
commands: true
views: true
sync:
- from: storage
to: workbench/storage
reverse: true

purge:
files:
Expand Down

0 comments on commit 86a449b

Please sign in to comment.