mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-03 12:02:53 +00:00
148 lines
3.7 KiB
YAML
148 lines
3.7 KiB
YAML
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
|