47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
image: docker.io/node:18-alpine
|
|
|
|
services:
|
|
- name: docker.io/groonga/pgroonga:latest-alpine-12-slim
|
|
alias: postgres
|
|
- name: docker.io/redis:7-alpine
|
|
alias: redis
|
|
|
|
workflow:
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
when: always
|
|
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'main'
|
|
when: never
|
|
|
|
cache:
|
|
paths:
|
|
- node_modules/
|
|
- target/
|
|
|
|
stages:
|
|
- test
|
|
|
|
variables:
|
|
POSTGRES_DB: firefish_db
|
|
POSTGRES_USER: firefish
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
default:
|
|
before_script:
|
|
- apk add --update build-base linux-headers curl ca-certificates python3 perl postgresql-client
|
|
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
- . "${HOME}/.cargo/env"
|
|
- corepack enable
|
|
- corepack prepare pnpm@latest --activate
|
|
- cp .config/ci.yml .config/default.yml
|
|
- export PGPASSWORD="${POSTGRES_PASSWORD}"
|
|
- psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command 'CREATE EXTENSION pgroonga'
|
|
|
|
build_and_cargo_unit_test:
|
|
stage: test
|
|
script:
|
|
- pnpm install --frozen-lockfile
|
|
- pnpm run build:debug
|
|
- pnpm run migrate
|
|
- cargo test
|