From 26a58c92df7a57a9ef7881f96d17775ebb10d1dd Mon Sep 17 00:00:00 2001
From: naskya <m@naskya.net>
Date: Thu, 9 May 2024 23:19:35 +0900
Subject: [PATCH] ci: use cargo nextest

---
 .gitlab-ci.yml | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 38770be22d..88be05681f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -43,6 +43,7 @@ variables:
   CARGO_PROFILE_DEV_OPT_LEVEL: '0'
   CARGO_PROFILE_DEV_LTO: 'off'
   CARGO_PROFILE_DEV_DEBUG: 'none'
+  CARGO_TERM_COLOR: 'always'
 
 default:
   before_script:
@@ -57,7 +58,7 @@ default:
     - export PGPASSWORD="${POSTGRES_PASSWORD}"
     - psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command 'CREATE EXTENSION pgroonga'
 
-build_test:
+build:
   stage: test
   rules:
     - if: $CI_PIPELINE_SOURCE == 'push' || $CI_PIPELINE_SOURCE == 'merge_request_event'
@@ -77,7 +78,7 @@ build_test:
     - pnpm run build:debug
     - pnpm run migrate
 
-client_build_test:
+build:client:
   stage: test
   rules:
     - if: $CI_PIPELINE_SOURCE == 'push' || $CI_PIPELINE_SOURCE == 'merge_request_event'
@@ -110,7 +111,7 @@ client_build_test:
     - pnpm install --frozen-lockfile
     - pnpm --filter 'firefish-js' --filter 'client' --filter 'sw' run build:debug
 
-container_image_build:
+build:container:
   stage: build
   image: docker.io/debian:bookworm-slim
   services: []
@@ -150,7 +151,7 @@ container_image_build:
     - buildah inspect "${IMAGE_TAG}"
     - buildah push "${IMAGE_TAG}"
 
-cargo_unit_test:
+cargo:test:
   stage: test
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_BRANCH == 'develop'
@@ -163,15 +164,17 @@ cargo_unit_test:
     - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'main'
       when: never
   script:
-    - cargo check --features napi
+    - curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C /usr/local/cargo/bin
     - 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
+    - cargo test --doc
+    - cargo nextest run
+    - cargo nextest run --features napi
 
-cargo_clippy:
+cargo:clippy:
   stage: test
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_BRANCH == 'develop'