mirror of
https://github.com/deepseek-ai/deepseek-recipe.git
synced 2026-10-28 17:17:08 +08:00
Add locked Rust workspace CI
This commit is contained in:
parent
935817c66f
commit
01be2fc4a6
92
.github/workflows/ci.yml
vendored
Normal file
92
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ci-${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
core:
|
||||
name: Core crates
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- name: Select the pinned Rust toolchain
|
||||
run: rustup show active-toolchain
|
||||
- name: Check formatting
|
||||
run: cargo fmt --all -- --check
|
||||
- name: Test protocol and encoding crates
|
||||
run: >-
|
||||
cargo test
|
||||
-p deepseek-recipe-core
|
||||
-p deepseek-recipe
|
||||
-p deepseek-recipe-encoding
|
||||
-p encoding-decoding-demo
|
||||
--locked
|
||||
- name: Check image crate without native preprocessing
|
||||
run: cargo check -p deepseek-recipe-image --no-default-features --locked
|
||||
|
||||
workspace:
|
||||
name: Full workspace
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- name: Install native dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install --yes --no-install-recommends \
|
||||
build-essential cmake clang libclang-dev pkg-config python3-dev
|
||||
- name: Build minimal OpenCV 4.12
|
||||
env:
|
||||
OPENCV_SOURCE: ${{ runner.temp }}/opencv-source
|
||||
OPENCV_PREFIX: ${{ github.workspace }}/target/opencv-min
|
||||
run: |
|
||||
git init "$OPENCV_SOURCE"
|
||||
git -C "$OPENCV_SOURCE" remote add origin https://github.com/opencv/opencv.git
|
||||
git -C "$OPENCV_SOURCE" fetch --depth 1 origin 49486f61fb25722cbcf586b7f4320921d46fb38e
|
||||
git -C "$OPENCV_SOURCE" checkout --detach FETCH_HEAD
|
||||
cmake -S "$OPENCV_SOURCE" -B "$OPENCV_SOURCE/build" \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$OPENCV_PREFIX" \
|
||||
-DBUILD_SHARED_LIBS=ON -DBUILD_LIST=core,imgproc,imgcodecs \
|
||||
-DOPENCV_GENERATE_PKGCONFIG=ON \
|
||||
-DBUILD_ZLIB=ON -DBUILD_JPEG=ON -DBUILD_PNG=ON -DBUILD_WEBP=ON \
|
||||
-DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=ON \
|
||||
-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF \
|
||||
-DBUILD_opencv_apps=OFF -DBUILD_DOCS=OFF -DBUILD_JAVA=OFF \
|
||||
-DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_PROTOBUF=OFF \
|
||||
-DWITH_ADE=OFF -DWITH_EIGEN=OFF -DWITH_FFMPEG=OFF -DWITH_GSTREAMER=OFF \
|
||||
-DWITH_GTK=OFF -DWITH_IPP=OFF -DWITH_ITT=OFF -DWITH_JASPER=OFF \
|
||||
-DWITH_CUDA=OFF -DWITH_LAPACK=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF \
|
||||
-DWITH_OPENCLAMDFFT=OFF -DWITH_OPENEXR=OFF -DWITH_OPENJPEG=OFF \
|
||||
-DWITH_OPENMP=OFF -DWITH_QUIRC=OFF -DWITH_TBB=OFF -DWITH_TIFF=OFF \
|
||||
-DWITH_V4L=OFF -DWITH_1394=OFF
|
||||
cmake --build "$OPENCV_SOURCE/build" --parallel 2
|
||||
cmake --install "$OPENCV_SOURCE/build"
|
||||
echo "OPENCV_INCLUDE_PATHS=$OPENCV_PREFIX/include/opencv4" >> "$GITHUB_ENV"
|
||||
echo "OPENCV_LINK_PATHS=$OPENCV_PREFIX/lib" >> "$GITHUB_ENV"
|
||||
echo "OPENCV_LINK_LIBS=opencv_core,opencv_imgproc,opencv_imgcodecs" >> "$GITHUB_ENV"
|
||||
echo "RUSTFLAGS=-L$OPENCV_PREFIX/lib -C link-arg=-Wl,-rpath,$OPENCV_PREFIX/lib" >> "$GITHUB_ENV"
|
||||
- name: Expose OpenCV to documentation test executables
|
||||
run: echo "LD_LIBRARY_PATH=$GITHUB_WORKSPACE/target/opencv-min/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" >> "$GITHUB_ENV"
|
||||
- name: Select the pinned Rust toolchain
|
||||
run: rustup show active-toolchain
|
||||
- name: Lint workspace
|
||||
run: cargo clippy --workspace --all-targets --locked -- -D warnings
|
||||
- name: Test workspace
|
||||
run: cargo test --workspace --locked
|
||||
- name: Build API documentation
|
||||
env:
|
||||
RUSTDOCFLAGS: -D warnings
|
||||
run: cargo doc --workspace --no-deps --locked
|
||||
Loading…
x
Reference in New Issue
Block a user