Javascript Tests #20452
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Javascript Tests | |
| on: | |
| schedule: | |
| - cron: 0 */6 * * * | |
| pull_request: {} | |
| jobs: | |
| javascript_test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22.x | |
| - uses: pnpm/action-setup@v3 | |
| with: | |
| version: 9 | |
| - name: Install Dependencies | |
| run: | | |
| pnpm install | |
| sudo npx playwright install-deps | |
| npx playwright install | |
| - name: Run Mocha Tests | |
| id: mocha_tests | |
| run: | | |
| npm run mocha-test || true | |
| cat javascript/tests/mocha/mocha_test.xml | |
| continue-on-error: true | |
| - name: Process mocha results | |
| # Run this step even if the test step ahead fails | |
| if: ${{ always() }} | |
| uses: trunk-io/analytics-uploader@main | |
| env: | |
| TRUNK_PUBLIC_API_ADDRESS: ${{ vars.TRUNK_API_ENDPOINT }} | |
| with: | |
| # Path to your test results. | |
| junit-paths: javascript/tests/mocha/mocha_test.xml | |
| # Provide your Trunk organization slug. | |
| org-slug: ${{ vars.ORG_SLUG }} | |
| # Provide your Trunk API token as a GitHub secret. | |
| token: ${{ secrets.TRUNK_TOKEN }} | |
| # Pass the test outcome for quarantining support | |
| previous-step-outcome: ${{ steps.mocha_tests.outcome }} | |
| - name: Run Jest Tests | |
| id: jest_tests | |
| run: npm run jest-test | |
| continue-on-error: true | |
| - name: Process jest results | |
| # Run this step even if the test step ahead fails | |
| if: ${{ always() }} | |
| uses: trunk-io/analytics-uploader@main | |
| env: | |
| TRUNK_PUBLIC_API_ADDRESS: ${{ vars.TRUNK_API_ENDPOINT }} | |
| with: | |
| # Path to your test results. | |
| junit-paths: "**/junitresults-*.xml" | |
| # Provide your Trunk organization slug. | |
| org-slug: ${{ vars.ORG_SLUG }} | |
| # Provide your Trunk API token as a GitHub secret. | |
| token: ${{ secrets.TRUNK_TOKEN }} | |
| # Pass the test outcome for quarantining support | |
| previous-step-outcome: ${{ steps.jest_tests.outcome }} | |
| - name: Run Jasmine Tests | |
| id: jasmine_tests | |
| run: npm run jasmine-test | |
| continue-on-error: true | |
| - name: Process jasmine results | |
| # Run this step even if the test step ahead fails | |
| if: ${{ always() }} | |
| uses: trunk-io/analytics-uploader@main | |
| env: | |
| TRUNK_PUBLIC_API_ADDRESS: ${{ vars.TRUNK_API_ENDPOINT }} | |
| with: | |
| # Path to your test results. | |
| junit-paths: "**/*_test.xml" | |
| # Provide your Trunk organization slug. | |
| org-slug: ${{ vars.ORG_SLUG }} | |
| # Provide your Trunk API token as a GitHub secret. | |
| token: ${{ secrets.TRUNK_TOKEN }} | |
| # Pass the test outcome for quarantining support | |
| previous-step-outcome: ${{ steps.jasmine_tests.outcome }} | |
| - name: Run Playwright Tests | |
| id: playwright_tests | |
| run: npm run playwright-test | |
| continue-on-error: true | |
| - name: Process playwright results | |
| # Run this step even if the test step ahead fails | |
| if: ${{ always() }} | |
| uses: trunk-io/analytics-uploader@main | |
| env: | |
| TRUNK_PUBLIC_API_ADDRESS: ${{ vars.TRUNK_API_ENDPOINT }} | |
| with: | |
| # Path to your test results. | |
| junit-paths: tests/playwright/junitresults-playwright.xml | |
| # Provide your Trunk organization slug. | |
| org-slug: ${{ vars.ORG_SLUG }} | |
| # Provide your Trunk API token as a GitHub secret. | |
| token: ${{ secrets.TRUNK_TOKEN }} | |
| # Pass the test outcome for quarantining support | |
| previous-step-outcome: ${{ steps.playwright_tests.outcome }} | |
| - name: Upload JUnit XML artifacts | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: javascript-junit-results | |
| path: | | |
| **/*_test.xml | |
| **/junitresults-*.xml | |
| **/mocha_test.xml | |
| retention-days: 7 |