default: image: registry.gitlab.com/openstapps/projectmanagement/builder:v18 tags: - performance before_script: - echo TURBO_API=$TURBO_API >> .env.local - echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local - echo TURBO_TEAM=$TURBO_TEAM >> .env.local - pnpm config set store-dir .pnpm-store cache: key: files: - pnpm-lock.yaml paths: - .pnpm-store stages: - build - test - deploy build: stage: build interruptible: true script: - pnpm install - pnpm build:full - mv frontend/app/www www artifacts: paths: - www # rules: # - if: $CI_COMMIT_BRANCH == "develop" # when: never # - if: $CI_COMMIT_BRANCH == "master" # when: never # - when: always unit: stage: test interruptible: true script: - pnpm install - pnpm test coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/' artifacts: reports: coverage_report: coverage_format: cobertura path: coverage.xml # TODO!! # integration: # stage: test # interruptible: true # variables: # DOCKER_DRIVER: overlay2 # services: # - docker:dind # script: # - pnpm install # - pnpm run test:integration # tags: # - gitlab-org-docker review: stage: deploy dependencies: - build script: # TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS" - cp www/index.html www/200.html - pnpm dlx surge -p ./www -d https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ environment: name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME url: https://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh/ on_stop: stop_review rules: - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) stop_review: stage: deploy script: - pnpm dlx surge teardown $CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.surge.sh when: manual environment: name: review/$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_NAME action: stop rules: - if: ($CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_NAME != "main" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train" && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web")) # TODO!! # pages:docs: # stage: deploy # script: # - pnpm install # - pnpm run docs # - mv docs public # artifacts: # paths: # - public