diff --git a/config/nightwatch.php b/config/nightwatch.php index 60d10a8b..8ecff6f5 100644 --- a/config/nightwatch.php +++ b/config/nightwatch.php @@ -3,7 +3,7 @@ return [ 'enabled' => env('NIGHTWATCH_ENABLED', true), 'token' => env('NIGHTWATCH_TOKEN'), - 'deployment' => env('NIGHTWATCH_DEPLOY'), + 'deployment' => env('NIGHTWATCH_DEPLOY', rescue(static fn () => trim((string) shell_exec('git describe --tags --always 2>/dev/null')), '', false)), 'server' => env('NIGHTWATCH_SERVER', (string) gethostname()), 'capture_exception_source_code' => env('NIGHTWATCH_CAPTURE_EXCEPTION_SOURCE_CODE', true), 'redact_headers' => explode(',', env('NIGHTWATCH_REDACT_HEADERS', 'Authorization,Cookie,Proxy-Authorization,X-XSRF-TOKEN')), diff --git a/tests/Unit/CoreTest.php b/tests/Unit/CoreTest.php index 9da1d47d..88cc36c5 100644 --- a/tests/Unit/CoreTest.php +++ b/tests/Unit/CoreTest.php @@ -5,6 +5,7 @@ use App\Models\User; use Carbon\CarbonImmutable; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Route; use Laravel\Nightwatch\ExecutionStage; use Laravel\Nightwatch\Facades\Nightwatch; use Orchestra\Testbench\Attributes\WithEnv; @@ -15,6 +16,7 @@ use function dirname; use function hash; +use function trim; class CoreTest extends TestCase { @@ -89,4 +91,18 @@ public function test_it_ingests_fatal_errors_immediately(): void ], ]); } + + #[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')] + public function test_it_uses_git_refs_for_deployments_by_default(): void + { + $ingest = $this->fakeIngest(); + Route::get('/test', function () { + return 'OK'; + }); + + $this->get('/test')->assertOk(); + + $ingest->assertWrittenTimes(1); + $ingest->assertLatestWrite('request:0.deploy', trim(`git describe --tags --always`)); + } }