diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 59c56bb524..0b566ed27c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,13 +6,6 @@ services: - 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 @@ -48,10 +41,45 @@ default: - export PGPASSWORD="${POSTGRES_PASSWORD}" - psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command 'CREATE EXTENSION pgroonga' -build_and_cargo_unit_test: +build_test: stage: test script: - pnpm install --frozen-lockfile - pnpm run build:debug - pnpm run migrate + +build_and_cargo_unit_test: + stage: test + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + changes: + paths: + - packages/backend-rs/**/* + - packages/macro-rs/**/* + - Cargo.toml + - Cargo.lock + - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'main' + when: never + script: + - cargo check --features napi + - pnpm install --frozen-lockfile + - mkdir packages/backend-rs/built + - cp packages/backend-rs/index.js packages/backend-rs/built/index.js + - cp packages/backend-rs/index.d.ts packages/backend-rs/built/index.d.ts + - pnpm --filter='!backend-rs' run build:debug - cargo test + +clippy: + stage: test + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + changes: + paths: + - packages/backend-rs/**/* + - packages/macro-rs/**/* + - Cargo.toml + - Cargo.lock + - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'main' + when: never + script: + - cargo clippy -- -D warnings