mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-11 00:36:14 +00:00
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
.limit_publish_pipelines:
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "develop" && $CI_COMMIT_MESSAGE =~ /ci: publish prerelease/ && $CI_PIPELINE_SOURCE != "schedule"'
|
|
variables:
|
|
PUBLISH_TAG: next
|
|
- if: '$CI_COMMIT_BRANCH == "main" && $CI_COMMIT_MESSAGE =~ /ci: publish release/ && $CI_PIPELINE_SOURCE != "schedule"'
|
|
variables:
|
|
PUBLISH_TAG: latest
|
|
|
|
deploy:
|
|
stage: publish
|
|
needs: ['build', 'unit', 'integration', 'e2e', 'audit']
|
|
script:
|
|
- pnpm install
|
|
- pnpm run deploy
|
|
artifacts:
|
|
paths:
|
|
- ./.deploy
|
|
- ./frontend/app/www
|
|
rules:
|
|
- !reference [.limit_publish_pipelines, rules]
|
|
|
|
publish image:
|
|
stage: publish
|
|
inherit:
|
|
default:
|
|
- tags
|
|
needs: ['deploy']
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:v1.24.0-debug
|
|
entrypoint: [""]
|
|
script:
|
|
- >
|
|
/kaniko/executor
|
|
--context "${CI_PROJECT_DIR}/${DEPLOY_DIR}"
|
|
--dockerfile "${CI_PROJECT_DIR}/${DEPLOY_DIR}/Dockerfile"
|
|
--destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:$(grep -o '"version": "[^"]*' "${DEPLOY_DIR}/package.json" | cut -d'"' -f4)"
|
|
--destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${PUBLISH_TAG}"
|
|
parallel:
|
|
matrix:
|
|
- IMAGE_NAME: database
|
|
DEPLOY_DIR: backend/database
|
|
- IMAGE_NAME: backend
|
|
DEPLOY_DIR: .deploy/backend
|
|
- IMAGE_NAME: proxy
|
|
DEPLOY_DIR: .deploy/proxy
|
|
- IMAGE_NAME: api
|
|
DEPLOY_DIR: .deploy/api-cli
|
|
- IMAGE_NAME: minimal-connector
|
|
DEPLOY_DIR: .deploy/minimal-connector
|
|
- IMAGE_NAME: minimal-plugin
|
|
DEPLOY_DIR: .deploy/minimal-plugin
|
|
- IMAGE_NAME: app
|
|
DEPLOY_DIR: frontend/app
|
|
rules:
|
|
- !reference [.limit_publish_pipelines, rules]
|
|
|
|
publish packages:
|
|
stage: publish
|
|
needs: ['deploy']
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
GIT_DEPTH: 0
|
|
script:
|
|
- pnpm install
|
|
- pnpm build
|
|
- pnpm config set '//registry.npmjs.org/:_authToken' "${NPM_AUTH_TOKEN}"
|
|
- pnpm publish -r --publish-branch ${CI_COMMIT_BRANCH} --tag ${PUBLISH_TAG} --no-git-checks # TODO: Git checks...
|
|
rules:
|
|
- !reference [.limit_publish_pipelines, rules]
|
|
|
|
publish docs:
|
|
stage: publish
|
|
needs: ['deploy']
|
|
script:
|
|
- pnpm install --prefer-offline
|
|
- pnpm run docs
|
|
- mv docs public
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
rules:
|
|
- !reference [.limit_publish_pipelines, rules]
|