Skip to content

Commit f4de704

Browse files
Add sensible fallbacks for NIGHTWATCH_DEPLOY (#323)
Co-authored-by: Jess Archer <jess@jessarcher.com>
1 parent 1be43d6 commit f4de704

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

config/nightwatch.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
return [
44
'enabled' => env('NIGHTWATCH_ENABLED', true),
55
'token' => env('NIGHTWATCH_TOKEN'),
6-
'deployment' => env('NIGHTWATCH_DEPLOY'),
6+
'deployment' => env('NIGHTWATCH_DEPLOY', env('LARAVEL_CLOUD_COMMIT', env('FORGE_DEPLOY_COMMIT'))),
77
'server' => env('NIGHTWATCH_SERVER', (string) gethostname()),
88
'capture_exception_source_code' => env('NIGHTWATCH_CAPTURE_EXCEPTION_SOURCE_CODE', true),
99
'capture_request_payload' => env('NIGHTWATCH_CAPTURE_REQUEST_PAYLOAD', false),

tests/Unit/CoreTest.php

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Models\User;
66
use Carbon\CarbonImmutable;
77
use Illuminate\Support\Facades\Auth;
8+
use Illuminate\Support\Facades\Route;
89
use Laravel\Nightwatch\ExecutionStage;
910
use Laravel\Nightwatch\Facades\Nightwatch;
1011
use Orchestra\Testbench\Attributes\WithEnv;
@@ -89,4 +90,65 @@ public function test_it_ingests_fatal_errors_immediately(): void
8990
],
9091
]);
9192
}
93+
94+
#[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')]
95+
#[WithEnv('NIGHTWATCH_DEPLOY', '82f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
96+
public function test_it_uses_nightwatch_deploy_env_for_deployments_by_default(): void
97+
{
98+
$ingest = $this->fakeIngest();
99+
Route::get('/test', function () {
100+
return 'OK';
101+
});
102+
103+
$this->get('/test')->assertOk();
104+
105+
$ingest->assertWrittenTimes(1);
106+
$ingest->assertLatestWrite('request:0.deploy', '82f35860d8c7e59fe4d81a3256a2bb34c998acd9');
107+
}
108+
109+
#[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')]
110+
#[WithEnv('LARAVEL_CLOUD_COMMIT', '92f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
111+
public function test_it_uses_cloud_commit_env_for_deployments_if_available(): void
112+
{
113+
$ingest = $this->fakeIngest();
114+
Route::get('/test', function () {
115+
return 'OK';
116+
});
117+
118+
$this->get('/test')->assertOk();
119+
120+
$ingest->assertWrittenTimes(1);
121+
$ingest->assertLatestWrite('request:0.deploy', '92f35860d8c7e59fe4d81a3256a2bb34c998acd9');
122+
}
123+
124+
#[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')]
125+
#[WithEnv('FORGE_DEPLOY_COMMIT', '02f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
126+
public function test_it_uses_forge_commit_env_for_deployments_if_available(): void
127+
{
128+
$ingest = $this->fakeIngest();
129+
Route::get('/test', function () {
130+
return 'OK';
131+
});
132+
133+
$this->get('/test')->assertOk();
134+
135+
$ingest->assertWrittenTimes(1);
136+
$ingest->assertLatestWrite('request:0.deploy', '02f35860d8c7e59fe4d81a3256a2bb34c998acd9');
137+
}
138+
139+
#[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')]
140+
#[WithEnv('FORGE_DEPLOY_COMMIT', '82f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
141+
#[WithEnv('NIGHTWATCH_DEPLOY', '12f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
142+
public function test_it_uses_higher_precedent_deploy_env_for_deployments(): void
143+
{
144+
$ingest = $this->fakeIngest();
145+
Route::get('/test', function () {
146+
return 'OK';
147+
});
148+
149+
$this->get('/test')->assertOk();
150+
151+
$ingest->assertWrittenTimes(1);
152+
$ingest->assertLatestWrite('request:0.deploy', '12f35860d8c7e59fe4d81a3256a2bb34c998acd9');
153+
}
92154
}

0 commit comments

Comments
 (0)