name: jest balancer on: workflow_dispatch: schedule: - cron: '0 0 1,15 * *' jobs: jest-balance: # Buckle up, this may take a while timeout-minutes: 60 # Make sure this matches the runner that runs frontend tests runs-on: ubuntu-24.04 steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 name: Checkout sentry - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4 id: setup-node with: node-version-file: '.volta.json' - name: node_modules cache uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: nodemodulescache with: path: node_modules key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock', 'api-docs/yarn.lock', '.volta.json') }} - name: Install Javascript Dependencies if: steps.nodemodulescache.outputs.cache-hit != 'true' run: yarn install --frozen-lockfile - name: jest balancer env: GITHUB_PR_SHA: ${{ github.event.pull_request.head.sha || github.sha }} GITHUB_PR_REF: ${{ github.event.pull_request.head.ref || github.ref }} run: JEST_TEST_BALANCER=1 yarn test-ci - name: Create Pull Request uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 # v4.2.0 with: token: ${{ secrets.BUMP_SENTRY_TOKEN }} add-paths: | tests/js/test-balancer/jest-balance.json commit-message: 'ci(jest): regenerate jest-balance.json' branch: 'ci/jest/rebalance-tests' delete-branch: true base: master title: 'ci(jest): regenerate jest-balance.json' body: | This PR was auto-generated - it updates the \`jest-balance.json\` file with new test run data from CI.