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