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

74 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: docker:latest
services:
- name: docker:dind
alias: docker
before_script:
- cp .config/ci.yml .config/default.yml
- cp .config/docker_ci.env .config/docker.env
- docker info
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/