@samsara-dev/appwright 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # appwright
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 75adf30: Add CI metadata support for BrowserStack build traceability
8
+
9
+ BrowserStack sessions now automatically include CI context in build names and session names:
10
+
11
+ - **Buildkite**: Build number, branch, commit from `BUILDKITE_*` env vars
12
+ - **GitHub Actions**: Run number, ref name, SHA from `GITHUB_*` env vars
13
+ - **GitLab CI**: Pipeline ID, ref name, commit from `CI_*` env vars
14
+
15
+ Example build names:
16
+
17
+ - CI: `driver-performance-tests android #35 (main)`
18
+ - Local: `driver-performance-tests android`
19
+
20
+ Environment variable overrides:
21
+
22
+ - `BROWSERSTACK_BUILD_NAME`: Override auto-generated build name
23
+ - `BROWSERSTACK_SESSION_NAME`: Override auto-generated session name
24
+
3
25
  ## 0.7.0
4
26
 
5
27
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/browserstack/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsDtC,qBAAa,0BAA2B,YAAW,cAAc;IAC/D,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,OAAO,CAA+B;gBAG5C,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU3B,WAAW;IA0EX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;YAiBZ,iBAAiB;YAKjB,yBAAyB;WAK1B,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAuFlD,eAAe,CAAC,OAAO,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IA2BD,OAAO,CAAC,YAAY;CAuHrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/browserstack/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsDtC,qBAAa,0BAA2B,YAAW,cAAc;IAC/D,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,OAAO,CAA+B;gBAG5C,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU3B,WAAW;IA0EX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;YAiBZ,iBAAiB;YAKjB,yBAAyB;WAK1B,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAuFlD,eAAe,CAAC,OAAO,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IA2BD,OAAO,CAAC,YAAY;CAsJrB"}
@@ -251,6 +251,28 @@ class BrowserStackDeviceProvider {
251
251
  throw new Error(`process.env.${envVarKey} is not set. Did the file upload work?`);
252
252
  }
253
253
  const permissionPrompts = deviceConfig?.permissionPrompts;
254
+ // Build CI-aware metadata for better traceability between CI builds and BrowserStack sessions
255
+ const ciBuildIdentifier = process.env.BUILDKITE_BUILD_ID ||
256
+ process.env.GITHUB_RUN_ID ||
257
+ process.env.CI_JOB_ID || // GitLab CI
258
+ process.env.USER;
259
+ const ciBuildNumber = process.env.BUILDKITE_BUILD_NUMBER ||
260
+ process.env.GITHUB_RUN_NUMBER ||
261
+ process.env.CI_PIPELINE_IID; // GitLab CI
262
+ const ciBranch = process.env.BUILDKITE_BRANCH ||
263
+ process.env.GITHUB_REF_NAME ||
264
+ process.env.CI_COMMIT_REF_NAME; // GitLab CI
265
+ const ciCommit = (process.env.BUILDKITE_COMMIT ||
266
+ process.env.GITHUB_SHA ||
267
+ process.env.CI_COMMIT_SHA) // GitLab CI
268
+ ?.substring(0, 7);
269
+ // Allow env var override, otherwise build a descriptive name with CI context
270
+ const defaultBuildName = ciBuildNumber
271
+ ? `${projectName} ${platformName} #${ciBuildNumber}${ciBranch ? ` (${ciBranch})` : ""}`
272
+ : `${projectName} ${platformName}`;
273
+ const defaultSessionName = ciCommit
274
+ ? `${projectName} ${platformName} test @ ${ciCommit}`
275
+ : `${projectName} ${platformName} test`;
254
276
  const bstackOptions = {
255
277
  debug: true,
256
278
  interactiveDebugging: true,
@@ -262,11 +284,9 @@ class BrowserStackDeviceProvider {
262
284
  osVersion: deviceConfig.osVersion,
263
285
  platformName: platformName,
264
286
  deviceOrientation: deviceConfig?.orientation,
265
- buildName: `${projectName} ${platformName}`,
266
- sessionName: `${projectName} ${platformName} test`,
267
- buildIdentifier: process.env.GITHUB_ACTIONS === "true"
268
- ? `CI ${process.env.GITHUB_RUN_ID}`
269
- : process.env.USER,
287
+ buildName: process.env.BROWSERSTACK_BUILD_NAME || defaultBuildName,
288
+ sessionName: process.env.BROWSERSTACK_SESSION_NAME || defaultSessionName,
289
+ buildIdentifier: ciBuildIdentifier,
270
290
  };
271
291
  if (typeof deviceConfig?.appProfiling === "boolean") {
272
292
  bstackOptions.appProfiling = deviceConfig.appProfiling;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@samsara-dev/appwright",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"