name: Build and Test on: pull_request: branches: [master] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 22.x - name: Setup Corepack run: corepack enable - name: Install development dependencies env: YARN_ENABLE_IMMUTABLE_INSTALLS: false run: yarn install - name: Check Typescript run: npm run tsc - name: Check ESLint run: npm run eslint - name: Check Prettier run: npm run format - name: Run unit tests run: npm run test - name: Development build env: NODE_ENV: development run: npm run build:dev - name: Run integration tests env: NODE_ENV: development # needs an invalid URL to prevent CORS related delays CORIOLIS_URL: http://invalidd.it/ run: | touch .not-first-launch npm run start & sleep 5 npm run e2e - name: Upload failure screenshots uses: actions/upload-artifact@v4 if: failure() with: name: cypress-screenshots path: cypress/screenshots - name: Install production dependencies run: | rm -rf node_modules yarn workspaces focus --all --production - name: Production build env: NODE_OPTIONS: "--openssl-legacy-provider" run: npm run build:prod