mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-13 01:36:22 +00:00
refactor: speed up the pipeline by directly deploying the review app from the build step
This commit is contained in:
@@ -15,12 +15,23 @@ include:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
when: never
|
||||
|
||||
variables:
|
||||
TURBO_CACHE_BYPASS:
|
||||
value: ''
|
||||
options:
|
||||
- '--force'
|
||||
- '--no-cache'
|
||||
- ''
|
||||
description: Bypass turbo cache
|
||||
|
||||
default:
|
||||
image: registry.gitlab.com/openstapps/projectmanagement/builder:v18
|
||||
tags:
|
||||
- performance
|
||||
interruptible: true
|
||||
before_script:
|
||||
- corepack enable
|
||||
- corepack prepare pnpm@latest-8 --activate
|
||||
- echo TURBO_API=$TURBO_API >> .env.local
|
||||
- echo TURBO_TOKEN=$TURBO_TOKEN >> .env.local
|
||||
- echo TURBO_TEAM=$TURBO_TEAM >> .env.local
|
||||
@@ -37,34 +48,59 @@ stages:
|
||||
- version
|
||||
- build
|
||||
- test
|
||||
- review
|
||||
- publish
|
||||
|
||||
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
|
||||
# - pnpm config set recursive-install false
|
||||
# - pnpm i --prefer-offline
|
||||
# - pnpm build:full:skip || pnpm i -r --prefer-offline
|
||||
- pnpm install
|
||||
- pnpm build:full $TURBO_CACHE_BYPASS
|
||||
# pretty sure this is deprecated?
|
||||
# TODO: - .gitlab/ci/enableGitlabReviewToolbar.sh www/index.html "$CI_PROJECT_ID" "$CI_OPEN_MERGE_REQUESTS"
|
||||
- cp frontend/app/www/index.html frontend/app/www/200.html
|
||||
- pnpm dlx surge -p frontend/app/www -d https://$CI_PROJECT_NAME-$DEPLOY_ID.surge.sh/
|
||||
cache:
|
||||
<<: *pnpm_cache
|
||||
policy: pull-push
|
||||
rules:
|
||||
- when: on_success
|
||||
environment:
|
||||
name: review/$DEPLOY_ID
|
||||
url: https://$CI_PROJECT_NAME-$DEPLOY_ID.surge.sh/
|
||||
on_stop: stop review
|
||||
rules: &deploy-rules
|
||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||
variables:
|
||||
DEPLOY_ID: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
|
||||
- if: $CI_COMMIT_BRANCH == 'main'
|
||||
variables:
|
||||
DEPLOY_ID: production
|
||||
- if: $CI_COMMIT_BRANCH == 'develop'
|
||||
variables:
|
||||
DEPLOY_ID: staging
|
||||
|
||||
stop review:
|
||||
stage: build
|
||||
needs: ['build']
|
||||
script:
|
||||
- pnpm dlx surge teardown $CI_PROJECT_NAME-$DEPLOY_ID.surge.sh
|
||||
environment:
|
||||
name: review/$DEPLOY_ID
|
||||
action: stop
|
||||
when: manual
|
||||
rules: *deploy-rules
|
||||
|
||||
unit:
|
||||
stage: test
|
||||
needs: ['build']
|
||||
script:
|
||||
- pnpm config set recursive-install false
|
||||
- pnpm i --prefer-offline
|
||||
- pnpm test:skip || pnpm i -r --prefer-offline
|
||||
- pnpm test
|
||||
# - pnpm config set recursive-install false
|
||||
# - pnpm i --prefer-offline
|
||||
# - pnpm test:skip || pnpm i -r --prefer-offline
|
||||
- pnpm install
|
||||
- pnpm rb --filter=@openstapps/app
|
||||
- pnpm test $TURBO_CACHE_BYPASS
|
||||
coverage: '/Statements[^:]*\:[^:]*\s+([\d\.]+)%/'
|
||||
artifacts:
|
||||
when: always
|
||||
|
||||
Reference in New Issue
Block a user