From b00c5d9e7229a910e29967481023d25ea326592d Mon Sep 17 00:00:00 2001 From: "reportportal.io" Date: Tue, 17 Sep 2024 16:27:56 +0000 Subject: [PATCH 1/9] 5.2.0 -> 5.2.1-SNAPSHOT --- VERSION | 2 +- version_fragment | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 91ff572..e08f178 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.2.0 +5.2.1-SNAPSHOT diff --git a/version_fragment b/version_fragment index acb503f..9eb7b90 100644 --- a/version_fragment +++ b/version_fragment @@ -1 +1 @@ -minor +patch From 507da2fd7095065795fb4d745c57c830ab4e74ab Mon Sep 17 00:00:00 2001 From: Ilya Date: Fri, 20 Sep 2024 19:35:13 +0200 Subject: [PATCH 2/9] EPMRPP-94905 || Microseconds support for timestamps (#215) --- __tests__/helpers.spec.js | 34 ++++++- lib/helpers.js | 187 +++++++++++++++++++++----------------- package-lock.json | 66 ++++++-------- package.json | 3 +- 4 files changed, 165 insertions(+), 125 deletions(-) diff --git a/__tests__/helpers.spec.js b/__tests__/helpers.spec.js index fe65089..a652647 100644 --- a/__tests__/helpers.spec.js +++ b/__tests__/helpers.spec.js @@ -1,6 +1,7 @@ const os = require('os'); const fs = require('fs'); const glob = require('glob'); +const microtime = require('microtime'); const helpers = require('../lib/helpers'); const pjson = require('../package.json'); @@ -20,9 +21,38 @@ describe('Helpers', () => { }); }); + describe('formatMicrosecondsToISOString', () => { + test('converts microseconds to ISO string with microseconds precision', () => { + const input = 1726842755304456; + const expected = '2024-09-20T14:32:35.304456Z'; + const result = helpers.formatMicrosecondsToISOString(input); + expect(result).toBe(expected); + }); + + test('handles microseconds at the start of the epoch', () => { + const input = 654321; + const expected = '1970-01-01T00:00:00.654321Z'; + const result = helpers.formatMicrosecondsToISOString(input); + expect(result).toBe(expected); + }); + + test('handles rounding down of microseconds correctly', () => { + const input = 1000001; + const expected = '1970-01-01T00:00:01.000001Z'; + const result = helpers.formatMicrosecondsToISOString(input); + expect(result).toBe(expected); + }); + }); + describe('now', () => { - it('returns milliseconds from unix time', () => { - expect(new Date() - helpers.now()).toBeLessThan(100); // less than 100 miliseconds difference + it('should return the current timestamp with microseconds precision in ISO string format', () => { + const spyMicrotime = jest.spyOn(microtime, 'now').mockReturnValue(1726842755304456); + const expectedISOString = '2024-09-20T14:32:35.304456Z'; + + const result = helpers.now(); + + expect(spyMicrotime).toHaveBeenCalled(); + expect(result).toBe(expectedISOString); }); }); diff --git a/lib/helpers.js b/lib/helpers.js index 6e3e11e..113d39c 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -1,6 +1,7 @@ const fs = require('fs'); const glob = require('glob'); const os = require('os'); +const microtime = require('microtime'); const RestClient = require('./rest'); const pjson = require('../package.json'); @@ -11,92 +12,110 @@ const PJSON_NAME = pjson.name; const getUUIDFromFileName = (filename) => filename.match(/rplaunch-(.*)\.tmp/)[1]; -module.exports = { - formatName(name) { - const len = name.length; - // eslint-disable-next-line no-mixed-operators - return (len < MIN ? name + new Array(MIN - len + 1).join('.') : name).slice(-MAX); - }, - - now() { - return new Date().valueOf(); - }, - - // TODO: deprecate and remove - getServerResult(url, request, options, method) { - return new RestClient(options).request(method, url, request, options); - }, - - readLaunchesFromFile() { - const files = glob.sync('rplaunch-*.tmp'); - const ids = files.map(getUUIDFromFileName); - - return ids; - }, - - saveLaunchIdToFile(launchId) { - const filename = `rplaunch-${launchId}.tmp`; - fs.open(filename, 'w', (err) => { - if (err) { - throw err; - } - }); - }, - - getSystemAttribute() { - const osType = os.type(); - const osArchitecture = os.arch(); - const RAMSize = os.totalmem(); - const nodeVersion = process.version; - const systemAttr = [ - { - key: 'client', - value: `${PJSON_NAME}|${PJSON_VERSION}`, - system: true, - }, - { - key: 'os', - value: `${osType}|${osArchitecture}`, - system: true, - }, - { - key: 'RAMSize', - value: RAMSize, - system: true, - }, - { - key: 'nodeJS', - value: nodeVersion, - system: true, - }, - ]; - - return systemAttr; - }, - - generateTestCaseId(codeRef, params) { - if (!codeRef) { - return; +const formatName = (name) => { + const len = name.length; + // eslint-disable-next-line no-mixed-operators + return (len < MIN ? name + new Array(MIN - len + 1).join('.') : name).slice(-MAX); +}; + +const formatMicrosecondsToISOString = (timestampInMicroseconds) => { + const milliseconds = Math.floor(timestampInMicroseconds / 1000); + const microseconds = String(timestampInMicroseconds).slice(-3); + const isoDate = new Date(milliseconds).toISOString(); + + return isoDate.replace('Z', `${microseconds}Z`); +}; + +const now = () => { + return formatMicrosecondsToISOString(microtime.now()); +}; + +// TODO: deprecate and remove +const getServerResult = (url, request, options, method) => { + return new RestClient(options).request(method, url, request, options); +}; + +const readLaunchesFromFile = () => { + const files = glob.sync('rplaunch-*.tmp'); + const ids = files.map(getUUIDFromFileName); + + return ids; +}; + +const saveLaunchIdToFile = (launchId) => { + const filename = `rplaunch-${launchId}.tmp`; + fs.open(filename, 'w', (err) => { + if (err) { + throw err; } + }); +}; + +const getSystemAttribute = () => { + const osType = os.type(); + const osArchitecture = os.arch(); + const RAMSize = os.totalmem(); + const nodeVersion = process.version; + const systemAttr = [ + { + key: 'client', + value: `${PJSON_NAME}|${PJSON_VERSION}`, + system: true, + }, + { + key: 'os', + value: `${osType}|${osArchitecture}`, + system: true, + }, + { + key: 'RAMSize', + value: RAMSize, + system: true, + }, + { + key: 'nodeJS', + value: nodeVersion, + system: true, + }, + ]; + + return systemAttr; +}; + +const generateTestCaseId = (codeRef, params) => { + if (!codeRef) { + return; + } - if (!params) { - return codeRef; + if (!params) { + return codeRef; + } + + const parameters = params.reduce( + (result, item) => (item.value ? result.concat(item.value) : result), + [], + ); + + return `${codeRef}[${parameters}]`; +}; + +const saveLaunchUuidToFile = (launchUuid) => { + const filename = `rp-launch-uuid-${launchUuid}.tmp`; + fs.open(filename, 'w', (err) => { + if (err) { + throw err; } + }); +}; - const parameters = params.reduce( - (result, item) => (item.value ? result.concat(item.value) : result), - [], - ); - - return `${codeRef}[${parameters}]`; - }, - - saveLaunchUuidToFile(launchUuid) { - const filename = `rp-launch-uuid-${launchUuid}.tmp`; - fs.open(filename, 'w', (err) => { - if (err) { - throw err; - } - }); - }, +module.exports = { + formatName, + formatMicrosecondsToISOString, + now, + getServerResult, + readLaunchesFromFile, + saveLaunchIdToFile, + getSystemAttribute, + generateTestCaseId, + saveLaunchUuidToFile, }; diff --git a/package-lock.json b/package-lock.json index 75def79..5e82fee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,14 +6,14 @@ "packages": { "": { "name": "@reportportal/client-javascript", - "version": "5.1.4", + "version": "5.2.0", "license": "Apache-2.0", "dependencies": { "axios": "^1.7.7", "axios-retry": "^4.1.0", "glob": "^8.1.0", "ini": "^2.0.0", - "node-fetch": "^2.7.0", + "microtime": "^3.1.1", "uniqid": "^5.4.0", "uuid": "^9.0.1" }, @@ -4905,6 +4905,19 @@ "node": ">=8.6" } }, + "node_modules/microtime": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.1.1.tgz", + "integrity": "sha512-to1r7o24cDsud9IhN6/8wGmMx5R2kT0w2Xwm5okbYI3d1dk6Xv0m+Z+jg2vS9pt+ocgQHTCtgs/YuyJhySzxNg==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^5.0.0", + "node-gyp-build": "^4.4.0" + }, + "engines": { + "node": ">= 14.13.0" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -4986,23 +4999,19 @@ "node": ">= 10.13" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, "node_modules/node-int64": { @@ -6098,11 +6107,6 @@ "node": ">=8.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "node_modules/ts-jest": { "version": "29.1.5", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz", @@ -6488,20 +6492,6 @@ "makeerror": "1.0.12" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 2593c46..133d7fa 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "glob": "^8.1.0", "ini": "^2.0.0", "uniqid": "^5.4.0", - "uuid": "^9.0.1" + "uuid": "^9.0.1", + "microtime": "^3.1.1" }, "license": "Apache-2.0", "devDependencies": { From 2f42fecfea71217d1e0ab28f7505e59b5fa633c4 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Fri, 20 Sep 2024 19:41:43 +0200 Subject: [PATCH 3/9] Update changelog --- CHANGELOG.md | 5 +++++ package-lock.json | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77f40d2..905e917 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### Changed +- The client now reports the time for launches, test items and logs with microsecond precision in the ISO string. Thus, the `helpers.now` function is adjusted accordingly. +For logs, microsecond precision is available on the UI from ReportPortal version 24.2. +### Security +- Updated versions of vulnerable packages (micromatch). ## [5.2.0] - 2024-09-17 ### Changed diff --git a/package-lock.json b/package-lock.json index 5e82fee..0ab9b9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4893,12 +4893,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { From e74f22b3f257c4c9a0e340d6acc3c5c671c7a214 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Mon, 23 Sep 2024 12:47:51 +0200 Subject: [PATCH 4/9] Update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 905e917..928b1fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### Changed -- The client now reports the time for launches, test items and logs with microsecond precision in the ISO string. Thus, the `helpers.now` function is adjusted accordingly. +- The client now expects reporting the time for launches, test items and logs with microsecond precision in the ISO string. +Thus, the `helpers.now` function is adjusted accordingly. For logs, microsecond precision is available on the UI from ReportPortal version 24.2. ### Security - Updated versions of vulnerable packages (micromatch). From bafdaf95aeefd7d428a7c7b0681189365e1c3b80 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Mon, 23 Sep 2024 12:57:37 +0200 Subject: [PATCH 5/9] Update version fragment to minor --- version_fragment | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version_fragment b/version_fragment index 9eb7b90..acb503f 100644 --- a/version_fragment +++ b/version_fragment @@ -1 +1 @@ -patch +minor From 7e6ae7dd215347f63867ee6933c2ec7fdb4a0e53 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Mon, 23 Sep 2024 13:25:53 +0200 Subject: [PATCH 6/9] Update readme. --- CHANGELOG.md | 2 +- README.md | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 928b1fd..ab2c5e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ### Changed - The client now expects reporting the time for launches, test items and logs with microsecond precision in the ISO string. -Thus, the `helpers.now` function is adjusted accordingly. +Thus, the `helpers.now` function is adjusted accordingly. Details about [supported](./README.md#time-format) formats. For logs, microsecond precision is available on the UI from ReportPortal version 24.2. ### Security - Updated versions of vulnerable packages (micromatch). diff --git a/README.md b/README.md index 586d230..ef994f3 100644 --- a/README.md +++ b/README.md @@ -129,13 +129,13 @@ console.log(launchObj.tempId); The method takes one argument: * launch data object: -| Option | Necessity | Default | Description | -|-------------|-----------|----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| -| startTime | Optional | rpClient.helpers.now() | Start time of the launch (unix time). | -| name | Optional | parameter 'launch' specified when creating the client instance | Name of the launch. | -| mode | Optional | 'DEFAULT' | 'DEFAULT' - results will be submitted to Launches page, 'DEBUG' - results will be submitted to Debug page. | -| description | Optional | '' | Description of the launch (supports markdown syntax). | -| attributes | Optional | [] | Array of launch attributes (tags). | +| Option | Necessity | Default | Description | +|-------------|-----------|----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------| +| startTime | Optional | rpClient.helpers.now() | Start time of the launch (Unix Epoch time, see [time format](#time-format)). | +| name | Optional | parameter 'launch' specified when creating the client instance | Name of the launch. | +| mode | Optional | 'DEFAULT' | 'DEFAULT' - results will be submitted to Launches page, 'DEBUG' - results will be submitted to Debug page. | +| description | Optional | '' | Description of the launch (supports markdown syntax). | +| attributes | Optional | [] | Array of launch attributes (tags). | | id | Optional | Not set | `ID` of the existing launch in which tests data would be sent, without this param new launch instance will be created. | To get the real launch `ID` (also known as launch `UUID` from database) wait for the returned promise to finish. @@ -180,9 +180,9 @@ The method takes two arguments: * launch `tempId` (returned by the method `startLaunch`) * data object: -|Option | Necessity | Default | Description | -|--------- |-----------|---------|---------------------------------------------------------------------------------------------------| -|endTime | Optional | rpClient.helpers.now() | End time of the launch. | +|Option | Necessity | Default | Description | +|--------- |-----------|---------|----------------------------------------------------------------------------------------------------| +|endTime | Optional | rpClient.helpers.now() | End time of the launch (Unix Epoch time, see [time format](#time-format)). | |status | Optional | '' | Status of launch, one of '', 'PASSED', 'FAILED', 'STOPPED', 'SKIPPED', 'INTERRUPTED', 'CANCELLED'. | ### getPromiseFinishAllItems @@ -265,7 +265,7 @@ The method takes three arguments: |type | Required | | Test item type, one of 'SUITE', 'STORY', 'TEST', 'SCENARIO', 'STEP', 'BEFORE_CLASS', 'BEFORE_GROUPS','BEFORE_METHOD', 'BEFORE_SUITE', 'BEFORE_TEST', 'AFTER_CLASS', 'AFTER_GROUPS', 'AFTER_METHOD', 'AFTER_SUITE', 'AFTER_TEST' | |hasStats | Optional | true | Changes behavior for test item of type 'STEP'. When set to `true`, step is treaten as a test case (entity containig statistics). When false, step becomes a nested step. | |description | Optional | '' | Description of the test item (supports markdown syntax). | -|startTime | Optional | rpClient.helpers.now() | Start time of the test item (unix time). | +|startTime | Optional | rpClient.helpers.now() | Start time of the test item (Unix Epoch time, see [time format](#time-format)). | |attributes | Optional | [] | Array of the test item attributes. | * launch `tempId` (returned by the method `startLaunch`) @@ -289,8 +289,8 @@ The method takes two arguments: | Option | Necessity | Default | Description | |---------|-----------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------| | issue | Optional | true | Test item issue object. `issueType` is required, allowable values: 'pb***', 'ab***', 'si***', 'ti***', 'nd001'. Where `***` is locator id | -| status | Optional | 'PASSED' | Test item status, one of '', 'PASSED', 'FAILED', 'STOPPED', 'SKIPPED', 'INTERRUPTED', 'CANCELLED'. | -| endTime | Optional | rpClient.helpers.now() | End time of the launch (unix time). | +| status | Optional | 'PASSED' | Test item status, one of '', 'PASSED', 'FAILED', 'STOPPED', 'SKIPPED', 'INTERRUPTED', 'CANCELLED'. | +| endTime | Optional | rpClient.helpers.now() | End time of the launch (Unix Epoch time, see [time format](#time-format)). | Example issue object: ``` @@ -325,11 +325,11 @@ The method takes three arguments: * test item `tempId` (returned by method `startTestItem`) * data object: -| Option | Necessity | Default | Description | -|---------|-----------|------------------------|----------------------------------------------------------------------| -| message | Optional | '' | The log message. | +| Option | Necessity | Default | Description | +|---------|-----------|------------------------|---------------------------------------------------------------------| +| message | Optional | '' | The log message. | | level | Optional | '' | The log level, one of 'trace', 'debug', 'info', 'warn', 'error', ''. | -| time | Optional | rpClient.helpers.now() | The time of the log. | +| time | Optional | rpClient.helpers.now() | The time of the log (Unix Epoch time, see [time format](#time-format)). | * file object (optional): @@ -370,13 +370,23 @@ The method takes one argument: |-------------------------|-----------|-----------------------------------------|------------------------------------------------------------------------------------------------------------| | description | Optional | config.description or 'Merged launch' | Description of the launch (supports markdown syntax). | | attributes | Optional | config.attributes or [] | Array of launch attributes (tags). | -| endTime | Optional | rpClient.helpers.now() | End time of the launch (unix time) | +| endTime | Optional | rpClient.helpers.now() | End time of the launch (Unix Epoch time, see [time format](#time-format)). | | extendSuitesDescription | Optional | true | Whether to extend suites description or not. | | launches | Optional | ids of the launches saved to filesystem | The array of the real launch ids, not UUIDs | | mergeType | Optional | 'BASIC' | The type of the merge operation. Possible values are 'BASIC' or 'DEEP'. | | mode | Optional | config.mode or 'DEFAULT' | 'DEFAULT' - results will be submitted to Launches page, 'DEBUG' - results will be submitted to Debug page. | | name | Optional | config.launch or 'Test launch name' | Name of the launch after merge. | +## Time format + +The unix Epoch time ISO string. + +The [ReportPortal since product version 24.2]() (Service API version 5.12.0) supports the time with microsecond precision in the ISO string format (`2024-09-23T11:10:46.793546Z`). +Thus, it is recommended to report time in this format to have more accurate logs and test items order on the ReportPortal UI. +**Note:** Reporting the time in ISO string format with millisecond precision (`2024-09-23T11:10:46.793Z`) or as a number of milliseconds (`1727089846793`) is also acceptable with microseconds automatically added as zeros for backward compatibility. + +The client use time with microsecond precision in the ISO string format by default since [version 5.3.0](). + # Copyright Notice Licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) From 296bf5a870fa4c0d6e6114968e357dbdc8828488 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Mon, 23 Sep 2024 13:31:17 +0200 Subject: [PATCH 7/9] Update workflow files --- .github/workflows/CI-pipeline.yml | 2 +- .github/workflows/publish.yml | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/CI-pipeline.yml b/.github/workflows/CI-pipeline.yml index 9ab57b8..025e7b9 100644 --- a/.github/workflows/CI-pipeline.yml +++ b/.github/workflows/CI-pipeline.yml @@ -41,7 +41,7 @@ jobs: with: node-version: ${{ matrix.node }} - - name: Install of node dependencies + - name: Install dependencies run: npm install - name: Build the source code diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d028ac9..32edc1b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,13 +27,11 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - - name: Install of node dependencies + - name: Install dependencies run: npm install - name: Run lint run: npm run lint - - name: Run tests - run: npm test - - name: Check coverage + - name: Run tests and check coverage run: npm run test:coverage publish-to-npm-and-gpr: @@ -47,7 +45,7 @@ jobs: with: node-version: 20 registry-url: 'https://registry.npmjs.org' - - name: Install of node dependencies + - name: Install dependencies run: npm install - name: Publish to NPM run: | From 197d4bed2eb47718808f591a2b91f4a6c5cc823d Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 23 Sep 2024 13:33:54 +0200 Subject: [PATCH 8/9] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab2c5e7..313c7d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ ### Changed -- The client now expects reporting the time for launches, test items and logs with microsecond precision in the ISO string. +- The client now expects reporting the time for launches, test items and logs with microsecond precision in the ISO string format. Thus, the `helpers.now` function is adjusted accordingly. Details about [supported](./README.md#time-format) formats. For logs, microsecond precision is available on the UI from ReportPortal version 24.2. ### Security From 4463e807bab3e46e07cb63a9216019410d0b5076 Mon Sep 17 00:00:00 2001 From: Ilya Hancharyk Date: Mon, 23 Sep 2024 13:37:22 +0200 Subject: [PATCH 9/9] Update CI workflow file --- .github/workflows/CI-pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/CI-pipeline.yml b/.github/workflows/CI-pipeline.yml index 025e7b9..90a0aef 100644 --- a/.github/workflows/CI-pipeline.yml +++ b/.github/workflows/CI-pipeline.yml @@ -25,6 +25,9 @@ on: branches: - develop - master + paths-ignore: + - README.md + - CHANGELOG.md jobs: test: