image: ubuntu:25.10 stages: - build - test - deploy build: stage: build variables: DEBIAN_FRONTEND: noninteractive LANG: C.UTF-8 LC_ALL: C.UTF-8 cache: key: "build-$CI_COMMIT_REF_SLUG" paths: - build/ policy: pull-push before_script: - apt-get update - apt-get install -y --no-install-recommends clang build-essential sqlite3 libsqlite3-dev wget ca-certificates - update-ca-certificates || true - wget https://lab.voldemort.tech/api/v4/projects/lambda%2Fcarga/packages/generic/carga/v0.0.1/carga -O /usr/local/bin/carga - chmod +x /usr/local/bin/carga script: - I_AM_SCARED_PLEASE_TALK_TO_ME=true carga собери artifacts: name: "target-$CI_COMMIT_REF_SLUG" paths: - build/target.exe build_wrapper: stage: build image: rust:1.90-bookworm variables: CARGO_HOME: "$CI_PROJECT_DIR/.cargo" cache: key: "cargo-$CI_COMMIT_REF_SLUG" paths: - .cargo/registry - .cargo/git - wrapper/target policy: pull-push script: - cd wrapper - cargo build --release artifacts: name: "wrapper-$CI_COMMIT_REF_SLUG" paths: - wrapper/target/release/wrapper test: stage: test dependencies: - build - build_wrapper variables: DEBIAN_FRONTEND: noninteractive LANG: C.UTF-8 LC_ALL: C.UTF-8 before_script: - apt-get update - apt-get install -y --no-install-recommends python3 python3-pip - python3 -m pip install --break-system-packages requests script: - export SERVER_PATH="$(pwd)/wrapper/target/release/wrapper" - export BIN_PATH="$(pwd)/build/target.exe" - python3 ./autotest/main.py -s pages: stage: deploy image: node:20 script: - npm init -y - npm install swagger-ui-dist - mkdir -p public - cp -r node_modules/swagger-ui-dist/* public/ - cp ./openapi/srab.yaml public/ - | cat > public/index.html <<'EOF' SRAB API Documentation
EOF artifacts: paths: - public only: refs: - master changes: - openapi/**/* - .gitlab-ci.yml