Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.47 KiB
stages:
  - rocksdb
  - build
  - deploy
image: zoo.smok.co/build/build:latest

.build_rocksdb:
  stage: rocksdb
  before_script:
    - mkdir -p /builds/smokserwis/python-rocksdb/installation
  script:
    - rm -rf rocksdb
    - apt update
    - apt install -y libgflags-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libsnappy-dev libgflags2.2
    - git clone https://github.com/facebook/rocksdb.git
    - cd rocksdb
    - git fetch
    - git checkout v7.0.1
    - cmake -S. -Bbuild
    - make shared_lib -j 15
    - mv include ../
    - cp librocksdb.so.7.0.1 ../librocksdb.so
  artifacts:
    paths:
      - "include/rocksdb/*"
      - "librocksdb.so"


.before_build_python:
  stage: build
  before_script:
    - apt update
    - apt install -y pkg-config
    - pip install --break-system-packages --upgrade pip build
    - mv include/rocksdb /usr/local/include/rocksdb
  script:
    - python -m build
  artifacts:
    paths:
      - "*.whl"

build_rocksdb_x86:
  extends: .build_rocksdb
  needs: []

build_rocksdb_armv7l:
  extends: .build_rocksdb
  image: zoo.smok.co/build/build:armv7l-python3.11
  needs: []
  when: manual
  tags:
    - armv7l

build_python_rocksdb_x86:
  extends: .before_build_python
  dependencies:
    - build_rocksdb_x86
  needs: [build_rocksdb_x86]

build_python_rocksdb_armv7l:
  extends: .before_build_python
  image: zoo.smok.co/build/build:armv7l-python3.11
  dependencies:
    - build_rocksdb_armv7l
  tags:
    - armv7l
  needs: [build_rocksdb_armv7l]
  when: manual