From a7e5abf67d5549d941835785c538d30d58f0f204 Mon Sep 17 00:00:00 2001
From: naskya <m@naskya.net>
Date: Fri, 24 May 2024 21:43:38 +0900
Subject: [PATCH] ci: make sure backend build test doesn't fail when backend-rs
 build cache is not present

---
 .gitlab-ci.yml | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index caa859f926..28b9d38c55 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,7 +83,7 @@ test:build:
     - pnpm run migrate
     - psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command "$(cat docs/downgrade.sql)"
 
-test:build:backend_ts_only:
+test:build:backend_ts:
   stage: test
   rules:
     - if: $TEST == 'true'
@@ -112,12 +112,14 @@ test:build:backend_ts_only:
     - apt-get update && apt-get -y upgrade
     - apt-get -y --no-install-recommends install curl
     - curl -fsSL 'https://deb.nodesource.com/setup_18.x' | bash -
-    - apt-get install -y --no-install-recommends build-essential python3 nodejs postgresql-client
+    - apt-get install -y --no-install-recommends build-essential clang mold python3 perl nodejs postgresql-client
     - corepack enable
     - corepack prepare pnpm@latest --activate
     - mkdir -p 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
+    - cp ci/cargo/config.toml /usr/local/cargo/config.toml
+    - test -f packages/backend-rs/built/backend-rs.linux-x64-gnu.node || pnpm --filter 'backend-rs' run build:debug
     - cp .config/ci.yml .config/default.yml
     - export PGPASSWORD="${POSTGRES_PASSWORD}"
     - psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command 'CREATE EXTENSION pgroonga'
@@ -127,7 +129,7 @@ test:build:backend_ts_only:
     - pnpm run migrate
     - psql --host postgres --user "${POSTGRES_USER}" --dbname "${POSTGRES_DB}" --command "$(cat docs/downgrade.sql)"
 
-test:build:client_only:
+test:build:client:
   stage: test
   rules:
     - if: $TEST == 'true'