From c5e9ad40390c63f319fc87f6ff84299fb7fe8401 Mon Sep 17 00:00:00 2001 From: 4o3F <4o3f@proton.me> Date: Sun, 6 Oct 2024 20:29:26 +0800 Subject: [PATCH] chore: temp disable windows build --- .github/workflows/build.yml | 165 +++++++++++++++++------------------- 1 file changed, 80 insertions(+), 85 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2c16ad..8b87742 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,14 +34,9 @@ jobs: Atlas_ROOT_DIR: /usr/include/ # for cmake to find lapacke.h OPENCV_VERSION: ${{ matrix.opencv-version }} OPENCV_LINKAGE: ${{ matrix.linkage }} - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CMAKE_C_COMPILER_LAUNCHER: "sccache" - CMAKE_CXX_COMPILER_LAUNCHER: "sccache" steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - - uses: mozilla-actions/sccache-action@v0.0.6 - uses: actions/cache@v4 with: path: ~/dist @@ -60,92 +55,92 @@ jobs: run: scripts/build.sh shell: bash - windows-build: - # The type of runner that the job will run on - runs-on: windows-latest + # windows-build: + # # The type of runner that the job will run on + # runs-on: windows-latest - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v4 + # # Steps represent a sequence of tasks that will be executed as part of the job + # steps: + # # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + # - uses: actions/checkout@v4 - # Install rust - - name: Install rust - run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + # # Install rust + # - name: Install rust + # run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - - name: Chocolatey Action - # You may pin to the exact commit or the version. - # uses: crazy-max/ghaction-chocolatey@0e015857dd851f84fcb7fb53380eb5c4c8202333 - uses: crazy-max/ghaction-chocolatey@v3.0.0 - with: - # Arguments to pass to Chocolatey - # don't install opencv here as we build the staticlib below - args: install llvm wget strawberryperl - # Docker image to use - #image: # optional, default is ghcr.io/crazy-max/ghaction-chocolatey + # - name: Chocolatey Action + # # You may pin to the exact commit or the version. + # # uses: crazy-max/ghaction-chocolatey@0e015857dd851f84fcb7fb53380eb5c4c8202333 + # uses: crazy-max/ghaction-chocolatey@v3.0.0 + # with: + # # Arguments to pass to Chocolatey + # # don't install opencv here as we build the staticlib below + # args: install llvm wget strawberryperl + # # Docker image to use + # #image: # optional, default is ghcr.io/crazy-max/ghaction-chocolatey - - name: Cache OpenCV build - uses: actions/cache@v4 - with: - path: | - D:/opt/opencv - key: ${{ runner.os }}-opencv-windows-${{ hashFiles('**/CMakeLists.txt') }} # 使用 CMakeLists.txt 的哈希作为缓存键 - restore-keys: | - ${{ runner.os }}-opencv-windows - # Note: in order to set config profile to Release and use a prefix path, we have to separate cmake steps for building/installing. CMake nuances... - # See https://stackoverflow.com/questions/19024259/how-to-change-the-build-type-to-release-mode-in-cmake, https://stackoverflow.com/questions/50028570/is-it-possible-to-build-cmake-projects-directly-using-msbuildtools, https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html - # Pull opencv source, unzip, configure cmake, build, and install - # Disable image formats like jpeg, png, tiff, as we use rust image crate instead. See https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html - # Inspired from https://github.com/twistedfall/opencv-rust/issues/364 - - name: Install OpenCV static lib - run: | - if (-Not (Test-Path "D:/opt/opencv")) { - wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.8.1.zip - wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.8.1.zip - unzip opencv.zip - rm opencv.zip - unzip opencv_contrib.zip - rm opencv_contrib.zip - mkdir -p build - cd build - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=NO -DCMAKE_INSTALL_PREFIX="D:/opt/opencv" -DOPENCV_BUILD_3RDPARTY_LIBS=ON -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DOPENCV_EXTRA_MODULES_PATH="../opencv_contrib-4.8.1/modules" ../opencv-4.8.1 - cmake --build . --target install --config Release --parallel 8 - cmake --install . --prefix D:/opt/opencv - cd .. - } else { - Write-Host "Using cached OpenCV build" - } + # - name: Cache OpenCV build + # uses: actions/cache@v4 + # with: + # path: | + # D:/opt/opencv + # key: ${{ runner.os }}-opencv-windows-${{ hashFiles('**/CMakeLists.txt') }} # 使用 CMakeLists.txt 的哈希作为缓存键 + # restore-keys: | + # ${{ runner.os }}-opencv-windows + # # Note: in order to set config profile to Release and use a prefix path, we have to separate cmake steps for building/installing. CMake nuances... + # # See https://stackoverflow.com/questions/19024259/how-to-change-the-build-type-to-release-mode-in-cmake, https://stackoverflow.com/questions/50028570/is-it-possible-to-build-cmake-projects-directly-using-msbuildtools, https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html + # # Pull opencv source, unzip, configure cmake, build, and install + # # Disable image formats like jpeg, png, tiff, as we use rust image crate instead. See https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html + # # Inspired from https://github.com/twistedfall/opencv-rust/issues/364 + # - name: Install OpenCV static lib + # run: | + # if (-Not (Test-Path "D:/opt/opencv")) { + # wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.8.1.zip + # wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.8.1.zip + # unzip opencv.zip + # rm opencv.zip + # unzip opencv_contrib.zip + # rm opencv_contrib.zip + # mkdir -p build + # cd build + # cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=NO -DCMAKE_INSTALL_PREFIX="D:/opt/opencv" -DOPENCV_BUILD_3RDPARTY_LIBS=ON -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DOPENCV_EXTRA_MODULES_PATH="../opencv_contrib-4.8.1/modules" ../opencv-4.8.1 + # cmake --build . --target install --config Release --parallel 8 + # cmake --install . --prefix D:/opt/opencv + # cd .. + # } else { + # Write-Host "Using cached OpenCV build" + # } - - name: Setup tmate session - uses: mxschmitt/action-tmate@v3 - if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + # - name: Setup tmate session + # uses: mxschmitt/action-tmate@v3 + # if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} - - uses: Swatinem/rust-cache@v2 - with: - cache-directories: | - "D:/opt/opencv" - # OPENCV_LINK_LIBS includes both opencv modules and 3rdparty. Note: 3rdparty libs may be named differently on different platforms - # OPENCV_LINK_PATHS points to the installed staticlib folder after cmake install - # OPENCV_INCLUDE_PATHS points to installed include folder after cmake install - # OPENCV_MSVC_CRT is for CRT library to be static or dynamic using windows MSVC: https://github.com/twistedfall/opencv-rust/blob/master/README.md#troubleshooting - # Build - - name: Build - #run: $env:OPENCV_LINK_LIBS=$(Get-ChildItem -Path C:\tools -Recurse -Filter 'opencv_world*.lib' | Select-Object -first 1 | Select-Object -ExpandProperty Name); $env:OPENCV_LINK_PATHS=$(Get-ChildItem -Path C:\tools -Recurse -Filter 'opencv_world*.lib' | Select-Object -first 1 | Select-Object -ExpandProperty FullName | Split-Path -parent); $env:OPENCV_INCLUDE_PATHS="C:\tools\opencv\build\include"; cargo build --release - run: | - $env:OPENCV_LINK_LIBS="opencv_core481,opencv_videoio481,opencv_imgcodecs481,opencv_imgproc481,ippiw,ittnotify,ippicvmt,zlib,IlmImf,libjpeg-turbo,libopenjp2,libpng,libtiff,libwebp" - $env:OPENCV_LINK_PATHS="D:/opt/opencv/staticlib" - $env:OPENCV_INCLUDE_PATHS="D:/opt/opencv/include" - $env:OPENCV_MSVC_CRT="static" - cargo build --release + # - uses: Swatinem/rust-cache@v2 + # with: + # cache-directories: | + # "D:/opt/opencv" + # # OPENCV_LINK_LIBS includes both opencv modules and 3rdparty. Note: 3rdparty libs may be named differently on different platforms + # # OPENCV_LINK_PATHS points to the installed staticlib folder after cmake install + # # OPENCV_INCLUDE_PATHS points to installed include folder after cmake install + # # OPENCV_MSVC_CRT is for CRT library to be static or dynamic using windows MSVC: https://github.com/twistedfall/opencv-rust/blob/master/README.md#troubleshooting + # # Build + # - name: Build + # #run: $env:OPENCV_LINK_LIBS=$(Get-ChildItem -Path C:\tools -Recurse -Filter 'opencv_world*.lib' | Select-Object -first 1 | Select-Object -ExpandProperty Name); $env:OPENCV_LINK_PATHS=$(Get-ChildItem -Path C:\tools -Recurse -Filter 'opencv_world*.lib' | Select-Object -first 1 | Select-Object -ExpandProperty FullName | Split-Path -parent); $env:OPENCV_INCLUDE_PATHS="C:\tools\opencv\build\include"; cargo build --release + # run: | + # $env:OPENCV_LINK_LIBS="opencv_core481,opencv_videoio481,opencv_imgcodecs481,opencv_imgproc481,ippiw,ittnotify,ippicvmt,zlib,IlmImf,libjpeg-turbo,libopenjp2,libpng,libtiff,libwebp" + # $env:OPENCV_LINK_PATHS="D:/opt/opencv/staticlib" + # $env:OPENCV_INCLUDE_PATHS="D:/opt/opencv/include" + # $env:OPENCV_MSVC_CRT="static" + # cargo build --release - # Upload artifact: https://github.com/actions/upload-artifact - - name: Upload Artifacts - uses: actions/upload-artifact@v4 - with: - name: imagetools - path: | - target/release/imagetools.exe - target/release/imagetools.pdb - retention-days: 14 + # # Upload artifact: https://github.com/actions/upload-artifact + # - name: Upload Artifacts + # uses: actions/upload-artifact@v4 + # with: + # name: imagetools + # path: | + # target/release/imagetools.exe + # target/release/imagetools.pdb + # retention-days: 14 \ No newline at end of file