# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: Studio Unit Tests & Build Check on: push: branches: [master, studio] paths: - 'apps/studio/**' - 'package-lock.json' pull_request: branches: [master, studio] paths: - 'apps/studio/**' - 'package-lock.json' # Cancel old builds on new commit for same workflow + branch/PR concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: check: # Uses larger hosted runner as it significantly decreases build times runs-on: [larger-runner-4cpu] strategy: matrix: node-version: [18.x] cmd: - npm run test:studio steps: - uses: actions/checkout@v4 with: sparse-checkout: | apps/studio packages - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install deps run: npm ci working-directory: ./ - name: Run ${{ matrix.cmd }} env: # Default is 2 GB, increase to have less frequent OOM errors NODE_OPTIONS: '--max_old_space_size=3072' run: ${{ matrix.cmd }} working-directory: ./