name: Tests on: pull_request: {} push: branches: [develop, master] repository_dispatch: types: [upstream-sdk-notify] workflow_call: inputs: matrix-js-sdk-sha: type: string required: false description: "The matrix-js-sdk SHA to use" env: # These must be set for fetchdep.sh to get the right branch REPOSITORY: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }} jobs: jest: name: Jest runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: repository: ${{ inputs.matrix-js-sdk-sha && 'matrix-org/matrix-react-sdk' || github.repository }} - name: Yarn cache uses: actions/setup-node@v3 with: cache: "yarn" - name: Install Deps run: "./scripts/ci/install-deps.sh --ignore-scripts" env: JS_SDK_GITHUB_BASE_REF: ${{ inputs.matrix-js-sdk-sha }} - name: Get number of CPU cores id: cpu-cores uses: SimenB/github-actions-cpu-cores@v1 - name: Run tests with coverage and metrics if: github.ref == 'refs/heads/develop' run: "yarn coverage --ci --reporters github-actions '--reporters=/test/slowReporter.js' --max-workers ${{ steps.cpu-cores.outputs.count }}" - name: Run tests with coverage if: github.ref != 'refs/heads/develop' run: "yarn coverage --ci --reporters github-actions --max-workers ${{ steps.cpu-cores.outputs.count }}" - name: Upload Artifact if: inputs.matrix-js-sdk-sha == '' uses: actions/upload-artifact@v3 with: name: coverage path: | coverage !coverage/lcov-report app-tests: name: Element Web Integration Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: repository: ${{ inputs.matrix-js-sdk-sha && 'matrix-org/matrix-react-sdk' || github.repository }} - uses: actions/setup-node@v3 with: cache: "yarn" - name: Run tests run: "./scripts/ci/app-tests.sh" env: JS_SDK_GITHUB_BASE_REF: ${{ inputs.matrix-js-sdk-sha }}