Skip to content

Commit bf8e368

Browse files
committed
Add fallback for NIGHTWATCH_DEPLOY
1 parent 05ceab9 commit bf8e368

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
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', rescue(static fn () => trim((string) shell_exec('git describe --tags --always 2>/dev/null')), '', false)),
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: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
use function dirname;
1818
use function hash;
19-
use function trim;
2019

2120
class CoreTest extends TestCase
2221
{
@@ -93,7 +92,8 @@ public function test_it_ingests_fatal_errors_immediately(): void
9392
}
9493

9594
#[WithEnv('NIGHTWATCH_FORCE_REQUEST', '1')]
96-
public function test_it_uses_git_refs_for_deployments_by_default(): void
95+
#[WithEnv('NIGHTWATCH_DEPLOY', '82f35860d8c7e59fe4d81a3256a2bb34c998acd9')]
96+
public function test_it_uses_nightwatch_deploy_env_for_deployments_by_default(): void
9797
{
9898
$ingest = $this->fakeIngest();
9999
Route::get('/test', function () {
@@ -103,6 +103,52 @@ public function test_it_uses_git_refs_for_deployments_by_default(): void
103103
$this->get('/test')->assertOk();
104104

105105
$ingest->assertWrittenTimes(1);
106-
$ingest->assertLatestWrite('request:0.deploy', trim(`git describe --tags --always`));
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');
107153
}
108154
}

0 commit comments

Comments
 (0)