rudeshark.net/.gitlab-ci.yml
2023-08-02 17:02:38 -07:00

73 lines
2.1 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
testCommit:
stage: build
before_script:
- apk add --no-cache cargo python3 make g++
- cp .config/ci.yml .config/default.yml
- corepack enable
- corepack prepare pnpm@latest --activate
script:
- pnpm i --frozen-lockfile
- pnpm run build:debug
- pnpm run migrate
only:
- main
- beta
- develop
- /^feature\/.*$/
dockerPush:
stage: build
image:
name: gcr.io/kaniko-project/executor:v1.9.0-debug
entrypoint: [""]
before_script:
- cp .config/ci.yml .config/default.yml
- cp .config/docker_ci.env .config/docker.env
script:
- /kaniko/executor
--context "${CI_PROJECT_DIR}"
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}"
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/