image: registry.gitlab.com/openstapps/projectmanagement/builder:v18 include: '/backend/backend/.gitlab-ci.yml' #variables: # GIT_CLEAN_FLAGS: -ffdx -e www/ default: tags: - performance interruptible: true 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: &pnpm_cache key: files: - pnpm-lock.yaml paths: - .pnpm-store/ policy: pull stages: - build - images - test - deploy build: stage: build script: - pnpm config set recursive-install false - pnpm i --prefer-offline - pnpm build:full:skip || pnpm i -r --prefer-offline - pnpm build:full - mv frontend/app/www www artifacts: paths: - www - ./**/.turbo/ - ./backend/backend/lib - ./backend/proxy/lib - ./configuration/projectmanagement/lib - ./examples/minimal-connector/lib - ./examples/minimal-plugin/lib - ./packages/api-cli/lib - ./packages/api-plugin/lib - ./packages/api/lib - ./packages/collection-utils/lib - ./packages/core-tools/lib - ./packages/core/lib - ./packages/easy-ast/lib - ./packages/es-mapping-generator/lib - ./packages/gitlab-api/lib - ./packages/logger/lib cache: <<: *pnpm_cache policy: pull-push unit: stage: test script: - pnpm config set recursive-install false - pnpm i --prefer-offline - pnpm test:skip || pnpm i -r --prefer-offline - pnpm test coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/' artifacts: when: always paths: - report-junit.xml - coverage.xml reports: junit: - report-junit.xml coverage_report: coverage_format: cobertura path: coverage.xml image:database: stage: images image: name: gcr.io/kaniko-project/executor:v1.9.0-debug entrypoint: [""] before_script: [] cache: [] script: - /kaniko/executor --context "${CI_PROJECT_DIR}/backend/database" --dockerfile "${CI_PROJECT_DIR}/backend/database/Dockerfile" --destination "${CI_REGISTRY_IMAGE}/database:${CI_COMMIT_BRANCH}" only: refs: - branches changes: - backend/database/**/* # TODO!! # integration: # stage: test # 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