70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
# This file is a template, and might need editing before it works on your project.
|
|
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
|
|
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
|
|
#
|
|
# To contribute improvements to CI/CD templates, please follow the Development guide at:
|
|
# https://docs.gitlab.com/ee/development/cicd/templates.html
|
|
# This specific template is located at:
|
|
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Nodejs.gitlab-ci.yml
|
|
|
|
# Official framework image. Look for the different tagged releases at:
|
|
# https://hub.docker.com/r/library/node/tags/
|
|
image: node:alpine
|
|
|
|
stages:
|
|
- build
|
|
|
|
# Pick zero or more services to be used on all builds.
|
|
# Only needed when using a docker container to run your tests in.
|
|
# Check out: https://docs.gitlab.com/ee/ci/services/index.html
|
|
variables:
|
|
POSTGRES_PASSWORD: test
|
|
# POSTGRES_DB: $POSTGRES_DB
|
|
# POSTGRES_USER: $POSTGRES_USER
|
|
# POSTGRES_PASSWORD: $POSTGRES_PASSWORD
|
|
# POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
services:
|
|
- postgres:15
|
|
- redis
|
|
|
|
before_script:
|
|
- apk add --no-cache cargo python3 make g++
|
|
- cp .config/ci.yml .config/default.yml
|
|
- corepack enable
|
|
- corepack prepare pnpm@latest --activate
|
|
|
|
testCommit:
|
|
stage: build
|
|
script:
|
|
- pnpm i --frozen-lockfile
|
|
- pnpm run build
|
|
- pnpm run migrate
|
|
only:
|
|
- main
|
|
- beta
|
|
- develop
|
|
- /^feature\/.*$/
|
|
|
|
dockerPush:
|
|
stage: .post
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG .
|
|
- echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
only:
|
|
- main
|
|
- beta
|
|
|
|
# This folder is cached between builds
|
|
# https://docs.gitlab.com/ee/ci/yaml/index.html#cache
|
|
cache:
|
|
paths:
|
|
- node_modules/
|
|
- packages/*/node_modules/
|
|
- packages/backend/native-utils/node_modules/
|
|
- packages/backend/native-utils/.cargo/
|