diff --git a/.github/workflows/integrity-check.yml b/.github/workflows/integrity-check.yml index 3b903ef4..40e938ee 100644 --- a/.github/workflows/integrity-check.yml +++ b/.github/workflows/integrity-check.yml @@ -64,7 +64,36 @@ jobs: run: pnpm lint - name: Run tests for all packages - run: pnpm test:node + run: pnpm test:node --reporter mocha-junit-reporter --reporter-options mochaFile=./results.xml + + - name: Upload test results to update SDK reports + uses: actions/upload-artifact@v3 + with: + name: junit-results + path: packages/*/results.xml + + - name: Generate an access token to trigger downstream repo + uses: actions/create-github-app-token@2986852ad836768dfea7781f31828eb3e17990fa # v1.6.2 + id: generate_token + if: github.ref == 'refs/heads/main' + with: + app-id: ${{ secrets.CICD_ROBOT_GITHUB_APP_ID }} + private-key: ${{ secrets.CICD_ROBOT_GITHUB_APP_PRIVATE_KEY }} + owner: TBD54566975 + repositories: sdk-development + + - name: Trigger sdk-development report build + if: github.ref == 'refs/heads/main' + run: | + curl -L \ + -H "Authorization: Bearer ${APP_TOKEN}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + -H "Content-Type: application/json" \ + --fail \ + --data '{"ref": "main"}' \ + https://api.github.com/repos/TBD54566975/sdk-development/actions/workflows/build-report.yaml/dispatches + env: + APP_TOKEN: ${{ steps.generate_token.outputs.token }} # test-with-browsers: # # Run browser tests using macOS so that WebKit tests don't fail under a Linux environment diff --git a/.gitignore b/.gitignore index 10cf8001..6b2a0014 100644 --- a/.gitignore +++ b/.gitignore @@ -144,4 +144,7 @@ dist generated packages/**/tests/compiled/ packages/**/src/try.ts -.DS_STORE \ No newline at end of file +.DS_STORE + +# Test report +results.xml \ No newline at end of file diff --git a/CODEOWNERS b/CODEOWNERS index 821b7ccc..a8e55566 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -9,7 +9,7 @@ # The format is described: https://github.blog/2017-07-06-introducing-code-owners/ # These owners will be the default owners for everything in the repo. -* @michaelneale @mistermoe @jiyoontbd @phoebe-lew @KendallWeihe +* @michaelneale @mistermoe @jiyoontbd @phoebe-lew @KendallWeihe @diehuxx # ----------------------------------------------- diff --git a/package.json b/package.json index 5761a860..866db1d1 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@typescript-eslint/parser": "6.7.0", "eslint": "8.49.0", "mocha": "10.2.0", + "mocha-junit-reporter": "2.2.1", "npkill": "0.11.3", "semver": "7.5.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e37b2fb..c26c6bfb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,6 +39,9 @@ importers: mocha: specifier: 10.2.0 version: 10.2.0 + mocha-junit-reporter: + specifier: 2.2.1 + version: 2.2.1(mocha@10.2.0) npkill: specifier: 0.11.3 version: 0.11.3 @@ -2032,6 +2035,10 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true + /charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + dev: true + /check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: @@ -2280,6 +2287,10 @@ packages: which: 2.0.2 dev: true + /crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: true + /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: @@ -3548,6 +3559,10 @@ packages: call-bind: 1.0.5 has-tostringtag: 1.0.0 + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -4110,6 +4125,14 @@ packages: safe-buffer: 5.2.1 dev: true + /md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + dev: true + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -4263,6 +4286,21 @@ packages: hasBin: true dev: true + /mocha-junit-reporter@2.2.1(mocha@10.2.0): + resolution: {integrity: sha512-iDn2tlKHn8Vh8o4nCzcUVW4q7iXp7cC4EB78N0cDHIobLymyHNwe0XG8HEHHjc3hJlXm0Vy6zcrxaIhnI2fWmw==} + peerDependencies: + mocha: '>=2.2.5' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + md5: 2.3.0 + mkdirp: 3.0.1 + mocha: 10.2.0 + strip-ansi: 6.0.1 + xml: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /mocha@10.2.0: resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} @@ -6117,6 +6155,10 @@ packages: optional: true dev: true + /xml@1.0.1: + resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} + dev: true + /xsalsa20@1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} dev: false