Skip to content

Commit c827021

Browse files
committed
👷 Add debugger bundle to deploy scripts
1 parent 4839750 commit c827021

5 files changed

Lines changed: 102 additions & 9 deletions

File tree

‎scripts/deploy/deploy.spec.ts‎

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,16 @@ describe('deploy', () => {
152152
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/rum-slim/bundle/datadog-rum-slim.js s3://browser-agent-artifacts-staging/datadog-rum-slim-staging.js',
153153
env,
154154
},
155+
{
156+
command:
157+
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/debugger/bundle/datadog-debugger.js s3://browser-agent-artifacts-staging/datadog-debugger-staging.js',
158+
env,
159+
},
155160
])
156161

157162
assert.deepEqual(getCloudfrontCommands(), [
158163
{
159-
command: `aws cloudfront create-invalidation --distribution-id E2FP11ZSCFD3EU --paths /datadog-logs-staging.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-staging.js,/datadog-rum-slim-staging.js`,
164+
command: `aws cloudfront create-invalidation --distribution-id E2FP11ZSCFD3EU --paths /datadog-logs-staging.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-staging.js,/datadog-rum-slim-staging.js,/datadog-debugger-staging.js`,
160165
env,
161166
},
162167
])
@@ -189,11 +194,16 @@ describe('deploy', () => {
189194
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/rum-slim/bundle/datadog-rum-slim.js s3://browser-agent-artifacts-prod/datadog-rum-slim-canary.js',
190195
env,
191196
},
197+
{
198+
command:
199+
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/debugger/bundle/datadog-debugger.js s3://browser-agent-artifacts-prod/datadog-debugger-canary.js',
200+
env,
201+
},
192202
])
193203

194204
assert.deepEqual(getCloudfrontCommands(), [
195205
{
196-
command: `aws cloudfront create-invalidation --distribution-id EGB08BYCT1DD9 --paths /datadog-logs-canary.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-canary.js,/datadog-rum-slim-canary.js`,
206+
command: `aws cloudfront create-invalidation --distribution-id EGB08BYCT1DD9 --paths /datadog-logs-canary.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-canary.js,/datadog-rum-slim-canary.js,/datadog-debugger-canary.js`,
197207
env,
198208
},
199209
])
@@ -226,11 +236,16 @@ describe('deploy', () => {
226236
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/rum-slim/bundle/datadog-rum-slim.js s3://browser-agent-artifacts-prod/datadog-rum-slim-v7-canary.js',
227237
env,
228238
},
239+
{
240+
command:
241+
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/debugger/bundle/datadog-debugger.js s3://browser-agent-artifacts-prod/datadog-debugger-v7-canary.js',
242+
env,
243+
},
229244
])
230245

231246
assert.deepEqual(getCloudfrontCommands(), [
232247
{
233-
command: `aws cloudfront create-invalidation --distribution-id EGB08BYCT1DD9 --paths /datadog-logs-v7-canary.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-v7-canary.js,/datadog-rum-slim-v7-canary.js`,
248+
command: `aws cloudfront create-invalidation --distribution-id EGB08BYCT1DD9 --paths /datadog-logs-v7-canary.js,/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/datadog-rum-v7-canary.js,/datadog-rum-slim-v7-canary.js,/datadog-debugger-v7-canary.js`,
234249
env,
235250
},
236251
])
@@ -267,11 +282,16 @@ describe('deploy', () => {
267282
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/rum-slim/bundle/datadog-rum-slim.js s3://browser-agent-artifacts-staging/pull-request/123/datadog-rum-slim.js',
268283
env,
269284
},
285+
{
286+
command:
287+
'aws s3 cp --cache-control max-age=900, s-maxage=60 packages/debugger/bundle/datadog-debugger.js s3://browser-agent-artifacts-staging/pull-request/123/datadog-debugger.js',
288+
env,
289+
},
270290
])
271291

272292
assert.deepEqual(getCloudfrontCommands(), [
273293
{
274-
command: `aws cloudfront create-invalidation --distribution-id E2FP11ZSCFD3EU --paths /pull-request/123/datadog-logs.js,/pull-request/123/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/pull-request/123/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/pull-request/123/datadog-rum.js,/pull-request/123/datadog-rum-slim.js`,
294+
command: `aws cloudfront create-invalidation --distribution-id E2FP11ZSCFD3EU --paths /pull-request/123/datadog-logs.js,/pull-request/123/chunks/datadogProfiler-${FAKE_CHUNK_HASH}-datadog-rum.js,/pull-request/123/chunks/datadogRecorder-${FAKE_CHUNK_HASH}-datadog-rum.js,/pull-request/123/datadog-rum.js,/pull-request/123/datadog-rum-slim.js,/pull-request/123/datadog-debugger.js`,
275295
env,
276296
},
277297
])

‎scripts/deploy/deploy.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
buildDatacenterUploadPath,
99
buildBundleFolder,
1010
buildPullRequestUploadPath,
11-
packages,
11+
getPackages,
1212
} from './lib/deploymentUtils.ts'
1313

1414
interface AwsConfig {
@@ -61,7 +61,7 @@ if (!process.env.NODE_TEST_CONTEXT) {
6161
export async function main(env: string, version: string, uploadPathTypes: string[]): Promise<void> {
6262
const awsConfig = AWS_CONFIG[env]
6363
const cloudfrontPathsToInvalidate: string[] = []
64-
for (const { packageName } of packages) {
64+
for (const { packageName } of getPackages(version)) {
6565
const pathsToInvalidate = await uploadPackage(awsConfig, packageName, version, uploadPathTypes)
6666
cloudfrontPathsToInvalidate.push(...pathsToInvalidate)
6767
}

‎scripts/deploy/lib/deploymentUtils.ts‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
11
interface Package {
22
packageName: string
33
service: string
4+
introducedInMajor?: number
45
}
56

6-
export const packages: Package[] = [
7+
const packages: Package[] = [
78
{ packageName: 'logs', service: 'browser-logs-sdk' },
89
{ packageName: 'rum', service: 'browser-rum-sdk' },
910
{ packageName: 'rum-slim', service: 'browser-rum-sdk' },
11+
{ packageName: 'debugger', service: 'browser-debugger-sdk', introducedInMajor: 7 },
1012
]
1113

14+
export const getPackages = (version: string): Package[] => {
15+
const majorVersion = /^v(\d+)/.exec(version)?.[1]
16+
17+
return packages.filter(
18+
({ introducedInMajor }) =>
19+
introducedInMajor === undefined || majorVersion === undefined || Number(majorVersion) >= introducedInMajor
20+
)
21+
}
22+
1223
// ex: datadog-rum-v4.js, chunks/datadogRecorder-8d8a8dfab6958424038f-datadog-rum.js
1324
export const buildRootUploadPath = (filePath: string, version: string): string => {
1425
// We don't suffix chunk names as they are referenced by the main bundle. Renaming them would require updates via Webpack, adding unnecessary complexity for minimal value.

‎scripts/deploy/upload-source-maps.spec.ts‎

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,13 @@ describe('upload-source-maps', () => {
218218
command:
219219
'mv packages/rum-slim/bundle/datadog-rum-slim.js.map packages/rum-slim/bundle/datadog-rum-slim-staging.js.map',
220220
},
221+
{
222+
command: 'mv packages/debugger/bundle/datadog-debugger.js packages/debugger/bundle/datadog-debugger-staging.js',
223+
},
224+
{
225+
command:
226+
'mv packages/debugger/bundle/datadog-debugger.js.map packages/debugger/bundle/datadog-debugger-staging.js.map',
227+
},
221228
])
222229

223230
// upload the source maps
@@ -252,6 +259,16 @@ describe('upload-source-maps', () => {
252259
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
253260
env: ENV_PROD,
254261
},
262+
{
263+
command:
264+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
265+
env: ENV_STAGING,
266+
},
267+
{
268+
command:
269+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
270+
env: ENV_PROD,
271+
},
255272
])
256273

257274
assert.deepEqual(getOrg2SourceMapCommands(), [
@@ -270,6 +287,11 @@ describe('upload-source-maps', () => {
270287
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
271288
env: ENV_ORG2_PROD,
272289
},
290+
{
291+
command:
292+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
293+
env: ENV_ORG2_PROD,
294+
},
273295
])
274296
})
275297

@@ -297,6 +319,13 @@ describe('upload-source-maps', () => {
297319
command:
298320
'mv packages/rum-slim/bundle/datadog-rum-slim.js.map packages/rum-slim/bundle/datadog-rum-slim-canary.js.map',
299321
},
322+
{
323+
command: 'mv packages/debugger/bundle/datadog-debugger.js packages/debugger/bundle/datadog-debugger-canary.js',
324+
},
325+
{
326+
command:
327+
'mv packages/debugger/bundle/datadog-debugger.js.map packages/debugger/bundle/datadog-debugger-canary.js.map',
328+
},
300329
])
301330

302331
// upload the source maps only to datadoghq.com
@@ -316,6 +345,11 @@ describe('upload-source-maps', () => {
316345
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
317346
env: ENV_PROD,
318347
},
348+
{
349+
command:
350+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
351+
env: ENV_PROD,
352+
},
319353
])
320354

321355
assert.deepEqual(getOrg2SourceMapCommands(), [
@@ -334,6 +368,11 @@ describe('upload-source-maps', () => {
334368
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
335369
env: ENV_ORG2_PROD,
336370
},
371+
{
372+
command:
373+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
374+
env: ENV_ORG2_PROD,
375+
},
337376
])
338377
})
339378

@@ -362,6 +401,14 @@ describe('upload-source-maps', () => {
362401
command:
363402
'mv packages/rum-slim/bundle/datadog-rum-slim.js.map packages/rum-slim/bundle/datadog-rum-slim-v7-canary.js.map',
364403
},
404+
{
405+
command:
406+
'mv packages/debugger/bundle/datadog-debugger.js packages/debugger/bundle/datadog-debugger-v7-canary.js',
407+
},
408+
{
409+
command:
410+
'mv packages/debugger/bundle/datadog-debugger.js.map packages/debugger/bundle/datadog-debugger-v7-canary.js.map',
411+
},
365412
])
366413

367414
// upload the source maps only to datadoghq.com (same as plain 'canary')
@@ -381,6 +428,11 @@ describe('upload-source-maps', () => {
381428
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
382429
env: ENV_PROD,
383430
},
431+
{
432+
command:
433+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix / --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
434+
env: ENV_PROD,
435+
},
384436
])
385437

386438
assert.deepEqual(getOrg2SourceMapCommands(), [
@@ -399,6 +451,11 @@ describe('upload-source-maps', () => {
399451
'datadog-ci sourcemaps upload packages/rum-slim/bundle --service browser-rum-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-rum-slim/ --repository-url https://www.github.com/datadog/browser-sdk',
400452
env: ENV_ORG2_PROD,
401453
},
454+
{
455+
command:
456+
'datadog-ci sourcemaps upload packages/debugger/bundle --service browser-debugger-sdk --release-version dev --minified-path-prefix https://d20xtzwzcl0ceb.cloudfront.net --project-path @datadog/browser-debugger/ --repository-url https://www.github.com/datadog/browser-sdk',
457+
env: ENV_ORG2_PROD,
458+
},
402459
])
403460
})
404461
})

‎scripts/deploy/upload-source-maps.ts‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@ import { getBuildEnvValue } from '../lib/buildEnv.ts'
55
import { getTelemetryOrgApiKey, getOrg2ApiKey } from '../lib/secrets.ts'
66
import { getAllDatacentersMetadata, getDatacenterMetadata } from '../lib/datacenter.ts'
77
import { forEachFile } from '../lib/filesUtils.ts'
8-
import { buildRootUploadPath, buildDatacenterUploadPath, buildBundleFolder, packages } from './lib/deploymentUtils.ts'
8+
import {
9+
buildRootUploadPath,
10+
buildDatacenterUploadPath,
11+
buildBundleFolder,
12+
getPackages,
13+
} from './lib/deploymentUtils.ts'
914

1015
/**
1116
* Upload source maps to datadog
@@ -33,7 +38,7 @@ if (!process.env.NODE_TEST_CONTEXT) {
3338
}
3439

3540
export async function main(version: string, uploadPathTypes: string[]): Promise<void> {
36-
for (const { packageName, service } of packages) {
41+
for (const { packageName, service } of getPackages(version)) {
3742
await uploadSourceMaps(packageName, service, version, uploadPathTypes)
3843
}
3944
printLog('Source maps upload done.')

0 commit comments

Comments
 (0)