diff --git a/.github/workflows/deploy-nodejs-reporters.yml b/.github/workflows/deploy-nodejs-reporters.yml index c42eba1a..3385bea9 100644 --- a/.github/workflows/deploy-nodejs-reporters.yml +++ b/.github/workflows/deploy-nodejs-reporters.yml @@ -44,7 +44,7 @@ jobs: uses: changesets/action@v1 with: cwd: ./handshake-nodejs-reporters - publish: npx changeset publish + publish: npm run release title: "version handshake-nodejs-reporters" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/handshake-nodejs-reporters/apps/test-wdio-cucumber/package.json b/handshake-nodejs-reporters/apps/test-wdio-cucumber/package.json index 8ebf1c81..c433b40d 100644 --- a/handshake-nodejs-reporters/apps/test-wdio-cucumber/package.json +++ b/handshake-nodejs-reporters/apps/test-wdio-cucumber/package.json @@ -19,6 +19,6 @@ }, "dependencies": { "@wdio/cli": "^8.26.2", - "wdio-handshake-reporter": "0.3.2" + "wdio-handshake-reporter": "0.3.5" } } diff --git a/handshake-nodejs-reporters/apps/test-wdio-mocha/package.json b/handshake-nodejs-reporters/apps/test-wdio-mocha/package.json index b2cf952d..e52cf48a 100644 --- a/handshake-nodejs-reporters/apps/test-wdio-mocha/package.json +++ b/handshake-nodejs-reporters/apps/test-wdio-mocha/package.json @@ -19,7 +19,7 @@ "@wdio/mocha-framework": "^8.24.12", "@wdio/spec-reporter": "^8.24.12", "ts-node": "^10.9.2", - "wdio-handshake-reporter": "0.3.2" + "wdio-handshake-reporter": "0.3.5" }, "devDependencies": { "cross-env": "^7.0.3" diff --git a/handshake-nodejs-reporters/package-lock.json b/handshake-nodejs-reporters/package-lock.json index 4c424533..2f887fd5 100644 --- a/handshake-nodejs-reporters/package-lock.json +++ b/handshake-nodejs-reporters/package-lock.json @@ -11,8 +11,8 @@ ], "devDependencies": { "@changesets/cli": "^2.27.1", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", @@ -104,7 +104,7 @@ "license": "ISC", "dependencies": { "@wdio/cli": "^8.26.2", - "wdio-handshake-reporter": "0.3.0" + "wdio-handshake-reporter": "0.3.4" }, "devDependencies": { "@wdio/cucumber-framework": "^8.26.2", @@ -123,7 +123,7 @@ "@wdio/mocha-framework": "^8.24.12", "@wdio/spec-reporter": "^8.24.12", "ts-node": "^10.9.2", - "wdio-handshake-reporter": "0.3.0" + "wdio-handshake-reporter": "0.3.4" }, "devDependencies": { "cross-env": "^7.0.3" @@ -6811,16 +6811,16 @@ "integrity": "sha512-1jZ9bJn2BsfmYFPBHtl5o3uV+ILejAtGrDcYSpT4qaVKEI/0YY+arw3XHU04Ebd8Nca3SQ7uNcLaqiL+tTFVMg==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz", - "integrity": "sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz", + "integrity": "sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/type-utils": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/type-utils": "6.15.0", + "@typescript-eslint/utils": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -6846,15 +6846,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz", - "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz", + "integrity": "sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4" }, "engines": { @@ -6874,13 +6874,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz", - "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz", + "integrity": "sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0" + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6891,13 +6891,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz", - "integrity": "sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", + "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/utils": "6.14.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/utils": "6.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -6918,9 +6918,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz", - "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", + "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6931,13 +6931,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz", - "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", + "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6958,17 +6958,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.14.0.tgz", - "integrity": "sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", + "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", "semver": "^7.5.4" }, "engines": { @@ -6983,12 +6983,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz", - "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", + "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/types": "6.15.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -8381,9 +8381,9 @@ } }, "node_modules/antd": { - "version": "5.12.2", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.12.2.tgz", - "integrity": "sha512-lJ4pdBRboN2Tl5hXTqgxUjGIercB2YIK7Z8fVDushgrJ55RhywJjvcQVnBmuxcSPuWEF2Yu8SNBVAnaV4EqzWA==", + "version": "5.12.3", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.12.3.tgz", + "integrity": "sha512-JnlrzUUcMx6yrrGfjyOIXtjToAYurl6UqEZFzl0VUT0fZuvhcfVwNTwe2ZIAjbbczjEx3lS7NDnuQmMuEycDuw==", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/cssinjs": "^1.18.1", @@ -8407,7 +8407,7 @@ "rc-dropdown": "~4.1.0", "rc-field-form": "~1.41.0", "rc-image": "~7.5.1", - "rc-input": "~1.3.6", + "rc-input": "~1.3.11", "rc-input-number": "~8.4.0", "rc-mentions": "~2.9.1", "rc-menu": "~9.12.4", @@ -22809,9 +22809,9 @@ } }, "node_modules/rc-input": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.6.tgz", - "integrity": "sha512-/HjTaKi8/Ts4zNbYaB5oWCquxFyFQO4Co1MnMgoCeGJlpe7k8Eir2HN0a0F9IHDmmo+GYiGgPpz7w/d/krzsJA==", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.11.tgz", + "integrity": "sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -28247,7 +28247,7 @@ } }, "packages/common-handshakes": { - "version": "0.3.0", + "version": "0.3.4", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -28268,7 +28268,7 @@ "@types/async-lock": "^1.4.2", "@types/jest": "^29.5.11", "@types/mocha": "^10.0.6", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@types/superagent": "^4.1.24", "@types/supertest": "^2.0.16", "babel-jest": "^29.7.0", @@ -28279,9 +28279,9 @@ } }, "packages/common-handshakes/node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -28372,17 +28372,17 @@ } }, "packages/handshake-dashboard": { - "version": "0.3.0", + "version": "0.3.3", "license": "MIT", "dependencies": { "@ant-design/icons": "^5.2.6", "@tsconfig/node18": "^18.2.2", "@types/echarts": "^4.9.22", - "@types/node": "20.10.4", + "@types/node": "20.10.5", "@types/react": "18.2.45", - "@types/react-dom": "18.2.17", + "@types/react-dom": "18.2.18", "ansi-to-html": "^0.7.2", - "antd": "^5.12.2", + "antd": "^5.12.3", "clsx": "^2.0.0", "cross-env": "^7.0.3", "dayjs": "^1.11.10", @@ -28404,9 +28404,9 @@ "devDependencies": { "@ant-design/static-style-extract": "~1.0.2", "@next/eslint-plugin-next": "^14.0.4", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", - "eslint": "^8.55.0", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", + "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.33.2", @@ -28417,9 +28417,9 @@ } }, "packages/handshake-dashboard/node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "dependencies": { "undici-types": "~5.26.4" } @@ -28434,6 +28434,14 @@ "csstype": "^3.0.2" } }, + "packages/handshake-dashboard/node_modules/@types/react-dom": { + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", + "dependencies": { + "@types/react": "*" + } + }, "packages/wdio-graspit-reporter": { "name": "wdio-handshake-reporter", "version": "0.1.0", @@ -28453,25 +28461,25 @@ } }, "packages/wdio-handshake-reporter": { - "version": "0.3.0", + "version": "0.3.4", "license": "MIT", "dependencies": { "@wdio/reporter": "^8.26.2", "@wdio/types": "^8.26.2", - "common-handshakes": "0.3.0", + "common-handshakes": "0.3.4", "log4js": "^6.9.1", "superagent": "^8.1.2" }, "devDependencies": { "@types/async-lock": "^1.4.2", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@types/superagent": "^4.1.24" } }, "packages/wdio-handshake-reporter/node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/handshake-nodejs-reporters/package.json b/handshake-nodejs-reporters/package.json index 591a5935..feb01500 100644 --- a/handshake-nodejs-reporters/package.json +++ b/handshake-nodejs-reporters/package.json @@ -14,12 +14,15 @@ "test": "npm run build && turbo run test --concurrency=1 --continue", "lint": "turbo run lint", "format": "prettier --write \"**/*.{ts,tsx,md}\"", - "publish": "turbo run build lint && changeset version && changeset publish" + "release": "changeset publish", + "publish": "turbo run build lint && changeset version && changeset publish", + "export": "npx handshake export ../TestResults --out ../TestReports", + "display": "npx handshake display ../TestReports" }, "devDependencies": { "@changesets/cli": "^2.27.1", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", diff --git a/handshake-nodejs-reporters/packages/common-handshakes/.version b/handshake-nodejs-reporters/packages/common-handshakes/.version index bd8fed3b..4165414c 100644 --- a/handshake-nodejs-reporters/packages/common-handshakes/.version +++ b/handshake-nodejs-reporters/packages/common-handshakes/.version @@ -1 +1 @@ -[{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141010396","id":141010396,"node_id":"RA_kwDOKgpJeM4IZ6Xc","name":"handshake-Darwin","label":"","content_type":"application/octet-stream","state":"uploaded","size":17667232,"download_count":0,"created_at":"2023-12-16T14:58:41Z","updated_at":"2023-12-16T14:58:42Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.1/handshake-Darwin"},{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141010395","id":141010395,"node_id":"RA_kwDOKgpJeM4IZ6Xb","name":"handshake-Linux","label":"","content_type":"application/octet-stream","state":"uploaded","size":31738016,"download_count":0,"created_at":"2023-12-16T14:58:41Z","updated_at":"2023-12-16T14:58:42Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.1/handshake-Linux"},{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141010397","id":141010397,"node_id":"RA_kwDOKgpJeM4IZ6Xd","name":"handshake-Windows.exe","label":"","content_type":"application/octet-stream","state":"uploaded","size":17073149,"download_count":0,"created_at":"2023-12-16T14:58:41Z","updated_at":"2023-12-16T14:58:42Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.1/handshake-Windows.exe"}] +[{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141265443","id":141265443,"node_id":"RA_kwDOKgpJeM4Ia4oj","name":"handshake-Darwin","label":"","content_type":"application/octet-stream","state":"uploaded","size":17645616,"download_count":0,"created_at":"2023-12-18T12:38:15Z","updated_at":"2023-12-18T12:38:16Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.2/handshake-Darwin"},{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141265444","id":141265444,"node_id":"RA_kwDOKgpJeM4Ia4ok","name":"handshake-Linux","label":"","content_type":"application/octet-stream","state":"uploaded","size":31738352,"download_count":0,"created_at":"2023-12-18T12:38:15Z","updated_at":"2023-12-18T12:38:16Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.2/handshake-Linux"},{"url":"https://api.github.com/repos/RahulARanger/handshake/releases/assets/141265445","id":141265445,"node_id":"RA_kwDOKgpJeM4Ia4ol","name":"handshake-Windows.exe","label":"","content_type":"application/octet-stream","state":"uploaded","size":17073490,"download_count":0,"created_at":"2023-12-18T12:38:15Z","updated_at":"2023-12-18T12:38:16Z","browser_download_url":"https://github.com/RahulARanger/handshake/releases/download/0.1.2/handshake-Windows.exe"}] diff --git a/handshake-nodejs-reporters/packages/common-handshakes/CHANGELOG.md b/handshake-nodejs-reporters/packages/common-handshakes/CHANGELOG.md index 6d24c778..8570b893 100644 --- a/handshake-nodejs-reporters/packages/common-handshakes/CHANGELOG.md +++ b/handshake-nodejs-reporters/packages/common-handshakes/CHANGELOG.md @@ -1,5 +1,17 @@ # common-handshakes +## 0.3.5 + +### Patch Changes + +- 28bea4c: feat: add options for the number of handshake-server workers + +## 0.3.4 + +### Patch Changes + +- bump handshake server version to 0.1.2 + ## 0.3.1 ### Patch Changes diff --git a/handshake-nodejs-reporters/packages/common-handshakes/package.json b/handshake-nodejs-reporters/packages/common-handshakes/package.json index 564facef..1de288be 100644 --- a/handshake-nodejs-reporters/packages/common-handshakes/package.json +++ b/handshake-nodejs-reporters/packages/common-handshakes/package.json @@ -1,6 +1,6 @@ { "name": "common-handshakes", - "version": "0.3.1", + "version": "0.3.5", "private": false, "type": "module", "license": "MIT", @@ -38,7 +38,7 @@ "@types/async-lock": "^1.4.2", "@types/jest": "^29.5.11", "@types/mocha": "^10.0.6", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@types/superagent": "^4.1.24", "@types/supertest": "^2.0.16", "babel-jest": "^29.7.0", diff --git a/handshake-nodejs-reporters/packages/common-handshakes/src/reporter.ts b/handshake-nodejs-reporters/packages/common-handshakes/src/reporter.ts index a3cea28d..ac6b4ca2 100644 --- a/handshake-nodejs-reporters/packages/common-handshakes/src/reporter.ts +++ b/handshake-nodejs-reporters/packages/common-handshakes/src/reporter.ts @@ -64,6 +64,7 @@ export class ReporterDialPad extends DialPad { await superagent.put(contact) .send(feed) + .retry(2) .on('response', (result) => { const { text, ok } = result; if (!ok) { @@ -80,7 +81,8 @@ export class ReporterDialPad extends DialPad { ); this.idMapped[storeIn] = String(text); } - }).catch((err) => { + }) + .catch((err) => { this.misFire += 1; logger.error(`Failed to send the fax: ${err}`); }); diff --git a/handshake-nodejs-reporters/packages/common-handshakes/src/service.ts b/handshake-nodejs-reporters/packages/common-handshakes/src/service.ts index 1e1cc935..e3a41e1d 100644 --- a/handshake-nodejs-reporters/packages/common-handshakes/src/service.ts +++ b/handshake-nodejs-reporters/packages/common-handshakes/src/service.ts @@ -12,12 +12,14 @@ import type { ChildProcess, SpawnSyncReturns } from 'node:child_process'; import DialPad from './dialPad'; import { UpdateTestRunConfig } from './payload'; -const logger = log4js.getLogger('handshake-service-commons'); +const logger = log4js.getLogger('handshake-service'); // eslint-disable-next-line import/prefer-default-export export class ServiceDialPad extends DialPad { pyProcess?: ChildProcess; + workers: number = 2; + get updateRunConfigUrl(): string { return `${this.saveUrl}/currentRun`; } @@ -40,8 +42,10 @@ export class ServiceDialPad extends DialPad { projectName: string, resultsDir: string, rootDir: string, + workers?: number, ): ChildProcess { - const args = ['run-app', projectName, resultsDir, '-p', this.port.toString(), '-w', '2']; + this.workers = Math.max(workers ?? 0, 2); + const args = ['run-app', projectName, resultsDir, '-p', this.port.toString(), '-w', String(this.workers)]; logger.warn(`Requesting a handshake server, command used: ${args.join(' ')} from ${rootDir}`); const pyProcess = this.executeCommand(args, false, rootDir) as ChildProcess; @@ -56,13 +60,13 @@ export class ServiceDialPad extends DialPad { pyProcess.on('exit', (code) => { if (code !== 0) { logger.warn( - `handshake was force closed 😫, found exit code: ${code}`, + `handshake-server was force closed 😫, found exit code: ${code}`, ); } }); logger.info( - `Started py-process, running 🐰 at pid: ${pyProcess.pid}`, + `Started handshake-server, running 🐰 at pid: ${pyProcess.pid}`, ); // important for avoiding zombie py server @@ -113,14 +117,14 @@ export class ServiceDialPad extends DialPad { if (this.pyProcess?.killed) return true; const resp = await superagent.get(`${this.url}/`).catch(() => logger.warn('ping failed')); const wasTerminated = resp?.statusCode !== 200; - if (!wasTerminated) logger.warn('→ Had to 🗡️ the py-process.'); + if (!wasTerminated) logger.warn('→ Had to 🗡️ the handshake-server.'); return wasTerminated; } async terminateServer() { const results = []; - for (let worker = 0; worker < 2; worker += 1) { - logger.info('📞 Requesting for worker termination'); + for (let worker = 0; worker < this.workers; worker += 1) { + logger.info('Shutting down a worker of handshake-server'); results.push( superagent .post(`${this.url}/bye`) @@ -136,7 +140,7 @@ export class ServiceDialPad extends DialPad { try { process.kill(this.pyProcess.pid); } catch { - logger.warn('🙀 handshake process was already terminated.'); + logger.warn('🙀 handshake-sever was already terminated.'); } } } diff --git a/handshake-nodejs-reporters/packages/handshake-dashboard/CHANGELOG.md b/handshake-nodejs-reporters/packages/handshake-dashboard/CHANGELOG.md index 9ead91ee..61db3eda 100644 --- a/handshake-nodejs-reporters/packages/handshake-dashboard/CHANGELOG.md +++ b/handshake-nodejs-reporters/packages/handshake-dashboard/CHANGELOG.md @@ -1,5 +1,11 @@ # handshake +## 0.3.3 + +### Patch Changes + +- type issues + ## 0.3.0 ### Minor Changes diff --git a/handshake-nodejs-reporters/packages/handshake-dashboard/next.config.js b/handshake-nodejs-reporters/packages/handshake-dashboard/next.config.js index fea8d2e1..7419b823 100644 --- a/handshake-nodejs-reporters/packages/handshake-dashboard/next.config.js +++ b/handshake-nodejs-reporters/packages/handshake-dashboard/next.config.js @@ -4,7 +4,7 @@ const nextConfig = { output: 'export', // Optional: Change links `/me` -> `/me/` and emit `/me.html` -> `/me/index.html` trailingSlash: true, - transpilePackages: ['handshake', 'echarts', 'zrender'], + transpilePackages: ['handshake-dashboard', 'echarts', 'zrender'], env: { NEXT_PY_PORT: process.env.NEXT_PY_PORT ?? '6969' }, @@ -14,4 +14,5 @@ const nextConfig = { distDir: process.env.EXPORT_DIR ?? "dist" } +// eslint-disable-next-line unicorn/prefer-module module.exports = nextConfig diff --git a/handshake-nodejs-reporters/packages/handshake-dashboard/package.json b/handshake-nodejs-reporters/packages/handshake-dashboard/package.json index 78e4f3ab..9e0b9cef 100644 --- a/handshake-nodejs-reporters/packages/handshake-dashboard/package.json +++ b/handshake-nodejs-reporters/packages/handshake-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "handshake-dashboard", - "version": "0.3.0", + "version": "0.3.3", "license": "MIT", "scripts": { "dev": "next dev", @@ -15,11 +15,11 @@ "@ant-design/icons": "^5.2.6", "@tsconfig/node18": "^18.2.2", "@types/echarts": "^4.9.22", - "@types/node": "20.10.4", + "@types/node": "20.10.5", "@types/react": "18.2.45", - "@types/react-dom": "18.2.17", + "@types/react-dom": "18.2.18", "ansi-to-html": "^0.7.2", - "antd": "^5.12.2", + "antd": "^5.12.3", "clsx": "^2.0.0", "cross-env": "^7.0.3", "dayjs": "^1.11.10", @@ -41,10 +41,10 @@ "devDependencies": { "@ant-design/static-style-extract": "~1.0.2", "@next/eslint-plugin-next": "^14.0.4", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", "eslint-plugin-unicorn": "^49.0.0", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.33.2", diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/CHANGELOG.md b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/CHANGELOG.md index e9ac757f..a37f5d0c 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/CHANGELOG.md +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/CHANGELOG.md @@ -1,5 +1,20 @@ # wdio-graspit-reporter +## 0.3.5 + +### Patch Changes + +- 28bea4c: feat: add options for the number of handshake-server workers +- Updated dependencies [28bea4c] + - common-handshakes@0.3.5 + +## 0.3.4 + +### Patch Changes + +- Updated dependencies + - common-handshakes@0.3.4 + ## 0.3.2 ### Patch Changes diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/package.json b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/package.json index ff696f51..399a1cb3 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/package.json +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/package.json @@ -1,6 +1,6 @@ { "name": "wdio-handshake-reporter", - "version": "0.3.2", + "version": "0.3.5", "types": "./dist/index.d.ts", "exports": { "default": "./dist/index.js" @@ -19,11 +19,11 @@ "@wdio/types": "^8.26.2", "log4js": "^6.9.1", "superagent": "^8.1.2", - "common-handshakes": "0.3.1" + "common-handshakes": "0.3.5" }, "devDependencies": { "@types/async-lock": "^1.4.2", "@types/superagent": "^4.1.24", - "@types/node": "^20.10.4" + "@types/node": "^20.10.5" } } diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/contacts.ts b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/contacts.ts index 4114320b..5077c367 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/contacts.ts +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/contacts.ts @@ -28,7 +28,7 @@ export default class ReporterContacts extends WDIOReporter { this.logger = log4js.getLogger('wdio-py-reporter'); this.logger.level = 'debug'; - this.supporter = new ReporterDialPad(this.options.port, this.options.lockTimeout); + this.supporter = new ReporterDialPad(this.options.port, this.options.timeout); currentReporter = this; } diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/helpers.ts b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/helpers.ts index 3b1017d0..993696c5 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/helpers.ts +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/helpers.ts @@ -20,7 +20,7 @@ export function attachReporter( { port, addScreenshots: options.addScreenshots || false, - lockTimeout: options.lockTimeout || 120e3, + timeout: options.timeout, }, ]); @@ -30,6 +30,7 @@ export function attachReporter( exePath: options.exePath, timeout: options.timeout, root: options.root, + workers: options.workers, collectionName: options.collectionName, export: options.export, testConfig: { diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/service.ts b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/service.ts index 1c891233..b05ea3a1 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/service.ts +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/service.ts @@ -57,6 +57,7 @@ export default class HandshakeService this.options.testConfig.projectName ?? options.framework ?? 'unknown', resultsDir, rootDir, + this.options.workers, ); } @@ -79,8 +80,8 @@ export default class HandshakeService avoidParentSuitesInCount: this.options.testConfig.avoidParentSuitesInCount ?? false, fileRetries: config.specFileRetries ?? 0, saveOptions: { - bail: config.bail, - protocol: config.baseUrl, + bail: config.bail ?? 0, + protocol: config.baseUrl ?? '/', }, exitCode, }); diff --git a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/types.ts b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/types.ts index 7b7f98ef..b677fd54 100644 --- a/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/types.ts +++ b/handshake-nodejs-reporters/packages/wdio-handshake-reporter/src/types.ts @@ -1,7 +1,7 @@ export interface ReporterOptions { port: number; addScreenshots?:boolean; - lockTimeout?:number; + timeout?:number; } export interface HandshakeServiceOptions { port: number; @@ -9,10 +9,10 @@ export interface HandshakeServiceOptions { exePath?:string; collectionName: string; timeout?: number; + workers?:number; export?: { out?: string; maxTestRuns: number; - isDynamic?: boolean; skipPatch?: boolean; } testConfig: { diff --git a/handshake/services/CommandLine/export.py b/handshake/services/CommandLine/export.py index dc47678f..a3a909b1 100644 --- a/handshake/services/CommandLine/export.py +++ b/handshake/services/CommandLine/export.py @@ -74,11 +74,11 @@ def export(collection_path, max_runs, out): handshake = Path(node_modules) / "handshake-dashboard" if not handshake.exists(): logger.error( - "handshake was not found in {} please try this command, npm install handshake", + "handshake-dashboard was not found in {} please try this command, npm install handshake-dashboard", handshake, ) raise FileNotFoundError( - "Please install handshake in your project, npm install handshake" + "Please install handshake-dashboard in your project, npm install handshake-dashboard" ) logger.info("Given details are valid, creating a export ticket") diff --git a/handshake/services/SchedularService/modifySuites.py b/handshake/services/SchedularService/modifySuites.py index 6f8194c7..86e61a2a 100644 --- a/handshake/services/SchedularService/modifySuites.py +++ b/handshake/services/SchedularService/modifySuites.py @@ -1,3 +1,4 @@ +import traceback from handshake.services.DBService.models.result_base import ( SuiteBase, RollupBase, @@ -11,9 +12,12 @@ from handshake.services.DBService.models.types import PydanticModalForTestRunConfigBase from handshake.services.DBService.models.dynamic_base import TaskBase from handshake.services.DBService.models.enums import Status, SuiteType -from tortoise.expressions import Q, F -from tortoise.functions import Count, Lower, Sum, Length +from tortoise.expressions import Q +from tortoise.functions import Count, Lower, Sum from loguru import logger +from handshake.services.SchedularService.register import ( + skip_test_run, +) from itertools import chain @@ -81,7 +85,7 @@ async def rollup_suite_values(suiteID: str): **{ key: direct_entities.get(key, 0) + indirect_entities.get(key, 0) for key in required - } + }, ) @@ -147,7 +151,7 @@ async def handleRetries(suiteID: str, test_id: str): return previous -async def patchTestSuite(suiteID: str, testID: str): +async def _patchTestSuite(suiteID: str, testID: str): # suiteID can also be treated as a ticketID task = await TaskBase.filter(ticketID=suiteID).first() suite = await SuiteBase.filter(suiteID=suiteID).first() @@ -205,3 +209,15 @@ async def patchTestSuite(suiteID: str, testID: str): logger.info("Successfully processed suite: {}", suite.suiteID) return True + + +async def patchTestSuite(suiteID: str, testID: str): + try: + return await _patchTestSuite(suiteID, testID) + except Exception: + await skip_test_run( + f"Failed to process the test suite {suiteID}", + testID, + f"Failed to patch the test suite, error in calculation, {traceback.format_exc()}", + ) + return False diff --git a/handshake/services/SchedularService/pruneTasks.py b/handshake/services/SchedularService/pruneTasks.py index 2505a702..4206c577 100644 --- a/handshake/services/SchedularService/pruneTasks.py +++ b/handshake/services/SchedularService/pruneTasks.py @@ -1,7 +1,6 @@ from handshake.services.DBService.models.enums import AttachmentType from handshake.services.DBService.models.static_base import TestConfigBase -from handshake.services.DBService.models.dynamic_base import TaskBase, JobType -from handshake.services.SchedularService.register import mark_for_prune_task +from handshake.services.DBService.models.dynamic_base import TaskBase from loguru import logger from typing import Optional from tortoise.expressions import Q diff --git a/pyproject.toml b/pyproject.toml index e5f04de0..86e16f6f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "handshake" -version = "0.1.1" +version = "0.1.2" description = "A service that's keen to process your test results" authors = ["Rahul "] license = "MIT"