Tests/file tests #114
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
| # This workflow will do a clean install of node dependencies, build the source | |
| # code and run tests in block on the latest version of node. | |
| name: test | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| pull_request: | |
| branches: | |
| - develop | |
| jobs: | |
| setup: | |
| runs-on: ubuntu-latest | |
| name: Compile SRE with locales | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| name: Install pnpm | |
| with: | |
| version: 10 | |
| run_install: false | |
| - name: Setup Speech Rule Engine | |
| run: | | |
| pnpm -r i | |
| pnpm build | |
| cd testsuite | |
| pnpm compile | |
| - name: Upload build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: sre-library | |
| path: | | |
| lib | |
| js | |
| package.json | |
| testsuite/js | |
| testsuite/tests | |
| test: | |
| strategy: | |
| matrix: | |
| block: [base, walker, semantic, en, en-ssml, ca, de, da, fr, es, it, hi, ko, nb, nn, sv] | |
| needs: setup | |
| runs-on: ubuntu-latest | |
| name: SRE jests tests for ${{ matrix.block }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| name: Install pnpm | |
| with: | |
| version: 10 | |
| run_install: false | |
| - name: Downloading the build | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: sre-library | |
| - name: Set up tests | |
| run: | | |
| pnpm -r i --ignore-scripts | |
| - name: Run tests for ${{ matrix.block }} | |
| run: pnpm test:action tests/actions/${{ matrix.block }}.test.ts --coverageReporters=json | |
| - name: Upload coverage artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-${{ matrix.block }} | |
| path: coverage/coverage-final.json | |
| combine-coverage: | |
| needs: test | |
| runs-on: ubuntu-latest | |
| name: Combine Coverage Reports | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| name: Install pnpm | |
| with: | |
| version: 10 | |
| run_install: false | |
| - name: Install merge tool | |
| run: pnpm add -g nyc | |
| - name: Download all coverage artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: coverage-artifacts | |
| - name: Merge coverage reports | |
| run: | | |
| mkdir -p combine | |
| cd coverage-artifacts | |
| for i in coverage-*; do cp $i/coverage-final.json ../combine/$i.json; done | |
| cd .. | |
| nyc merge ./combine/ coverage.json | |
| - name: Upload to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| slug: speech-rule-engine/speech-rule-engine | |
| file: coverage.json | |
| name: codecov-$(date +%Y%m%d) |