From e8c07d3e4801e38381d7e46d11a50417b164d2bb Mon Sep 17 00:00:00 2001 From: luminousminer Date: Tue, 17 Feb 2026 18:06:48 +0100 Subject: [PATCH] workflow OpenCL --- .github/workflows/opencl_linux.yml | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/opencl_linux.yml diff --git a/.github/workflows/opencl_linux.yml b/.github/workflows/opencl_linux.yml new file mode 100644 index 0000000..9353853 --- /dev/null +++ b/.github/workflows/opencl_linux.yml @@ -0,0 +1,82 @@ +name: Linux OpenCL + +on: + workflow_dispatch: + +jobs: + build-linux: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + # =============================== + # Restore OpenCL cache + # =============================== + - name: Restore OpenCL cache + id: opencl-cache + uses: actions/cache@v4 + with: + path: opencl-install + key: opencl-${{ runner.os }}-1.1.1w + + # =============================== + # Install build dependencies + # =============================== + - name: Install build dependencies + if: steps.openssl-cache.outputs.cache-hit != 'true' + run: | + sudo apt-get update + + # =============================== + # Build OpenCL 3.0.19 + # =============================== + - name: Build OpenCL 3.0.19 + if: steps.opencl-cache.outputs.cache-hit != 'true' + run: | + echo "๐Ÿ“ฅ Cloning OpenCL-SDK..." + git clone --depth 1 https://github.com/KhronosGroup/OpenCL-SDK.git + cd OpenCL-SDK + + echo "๐Ÿ”„ Fetching tags..." + git fetch --all --tags + git checkout tags/v2025.07.23 + + echo "๐Ÿ“ฆ Initializing submodules..." + git submodule init + git submodule update + + echo "๐Ÿ—๏ธ Configuring OpenCL-SDK build..." + mkdir build + cd build + + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF \ + -DBUILD_DOCS=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTS=OFF \ + -DOPENCL_SDK_BUILD_SAMPLES=OFF \ + -DOPENCL_SDK_TEST_SAMPLES=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + + echo "๐Ÿ”จ Building and installing OpenCL-SDK..." + sudo cmake --build . --target install + + cd ../.. + + echo "๐Ÿงน Cleaning up OpenCL-SDK sources..." + sudo rm -rf OpenCL-SDK + + echo "โœ… OpenCL SDK 3.0.19 installed successfully" + + # =============================== + # Upload artifact + # =============================== + - name: Upload OpenCL artifact + if: steps.opencl-cache.outputs.cache-hit != 'true' + uses: actions/upload-artifact@v4 + with: + name: opencl-${{ runner.os }}-1.1.1w + path: opencl-install