.template_vitest_shard: stage: test extends: - .job_rules_default cache: !reference [.cache, read_only_nodejs] before_script: - !reference [.scripts, pnpm_install] - !reference [.scripts, pnpm_install_eslint_plugin_zammad] script: # Only run one worker to avoid load peaks affecting other jobs. - pnpm test -- --min-workers=1 --max-workers=1 --shard $VITEST_SHARD # Stop here, except on the first shard. - "[[ $VITEST_SHARD = 1/* ]] || exit 0" - echo "Also test eslint-plugin-zammad…" - cd .eslint-plugin-zammad - pnpm test frontend:vitest:1: extends: - .template_vitest_shard variables: VITEST_SHARD: 1/3 frontend:vitest:2: extends: - .template_vitest_shard variables: VITEST_SHARD: 2/3 frontend:vitest:3: extends: - .template_vitest_shard variables: VITEST_SHARD: 3/3 frontend:cypress: stage: test extends: - .job_rules_default - .tags_docker_low_concurrency cache: !reference [.cache, read_only_nodejs] before_script: - !reference [.scripts, pnpm_install_cypress] script: - sysctl -w fs.inotify.max_user_watches=524288 # see https://github.com/cypress-io/cypress/issues/6960 - pnpm test:ci:ct artifacts: expire_in: 1 week when: on_failure paths: - app/frontend/cypress/**/__image_snapshots__/**/* - .dev/cypress/**/__diff_output__/* - .dev/cypress/videos/**/* - .dev/cypress/screenshots/**/*