From a178d2937bd31331c805a31b445eabf5003c9809 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:02:32 +0330 Subject: [PATCH 01/10] add macos runner, attempt 1 --- .github/workflows/build.yml | 190 +++++++++++++++++++++++++++--------- 1 file changed, 142 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e58f771b6..c64e9d8db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,7 +58,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: "3.10" - name: Install CMake uses: lukka/get-cmake@latest @@ -241,38 +241,38 @@ jobs: ssl: [dynamic, static] steps: - - uses: actions/checkout@v4 - with: - clean: true - submodules: recursive - fetch-depth: 0 - - - name: Declare build output variables - id: vars - shell: bash - env: - HEAD_REF: ${{ github.head_ref || github.ref_name }} - run: | - echo "build_version=$(git describe --always --tags "refs/remotes/origin/${HEAD_REF}")" >> $GITHUB_OUTPUT - echo "build_config=RelWithDebInfo" >> $GITHUB_OUTPUT - - - name: Try to restore conan cache - id: conan-cache-restore - uses: actions/cache/restore@v3 - env: - cache-name: cache-conan-modules - with: - path: docker/conan/data - key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - - - name: Run ARM build - uses: pguyot/arm-runner-action@v2.5.2 - with: - base_image: ${{ matrix.arch == 'arm32' && 'raspios_lite' || 'raspios_lite_arm64' }}:2022-04-04 - image_additional_mb: 10000 - bind_mount_repository: true - cpu: cortex-a7 - commands: | + - uses: actions/checkout@v4 + with: + clean: true + submodules: recursive + fetch-depth: 0 + + - name: Declare build output variables + id: vars + shell: bash + env: + HEAD_REF: ${{ github.head_ref || github.ref_name }} + run: | + echo "build_version=$(git describe --always --tags "refs/remotes/origin/${HEAD_REF}")" >> $GITHUB_OUTPUT + echo "build_config=RelWithDebInfo" >> $GITHUB_OUTPUT + + - name: Try to restore conan cache + id: conan-cache-restore + uses: actions/cache/restore@v3 + env: + cache-name: cache-conan-modules + with: + path: docker/conan/data + key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} + + - name: Run ARM build + uses: pguyot/arm-runner-action@v2.5.2 + with: + base_image: ${{ matrix.arch == 'arm32' && 'raspios_lite' || 'raspios_lite_arm64' }}:2022-04-04 + image_additional_mb: 10000 + bind_mount_repository: true + cpu: cortex-a7 + commands: | apt update && apt install -y ninja-build clang-11 python3-pip libstdc++6 libc6 pip install --upgrade pip setuptools wheel pip3 install --user conan @@ -287,18 +287,112 @@ jobs: cmake --build build --config ${{ steps.vars.outputs.build_config }} --parallel $(nproc) mv ~/.conan/data docker/conan - - name: Upload build artifacts - uses: actions/upload-artifact@v4 - with: - name: open.mp-linux-${{ matrix.arch }}${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${{ steps.vars.outputs.build_version }} - path: build/Output/${{ steps.vars.outputs.build_config }}/Server - if-no-files-found: error - - - name: Try to save conan cache - if: steps.conan-cache-restore.outputs.cache-hit != 'true' - uses: actions/cache/save@v3 - env: - cache-name: cache-conan-modules - with: - path: docker/conan/data - key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: open.mp-linux-${{ matrix.arch }}${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${{ steps.vars.outputs.build_version }} + path: build/Output/${{ steps.vars.outputs.build_config }}/Server + if-no-files-found: error + + - name: Try to save conan cache + if: steps.conan-cache-restore.outputs.cache-hit != 'true' + uses: actions/cache/save@v3 + env: + cache-name: cache-conan-modules + with: + path: docker/conan/data + key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} + + build-macos-arm: + name: macOS ARM build + runs-on: macos-latest + + strategy: + matrix: + ssl: [dynamic, static] + + steps: + - uses: actions/checkout@v4 + with: + clean: true + submodules: recursive + fetch-depth: 0 + + - name: Declare build output variables + id: vars + shell: bash + env: + HEAD_REF: ${{ github.head_ref || github.ref_name }} + run: | + echo "build_version=$(git describe --always --tags "refs/remotes/origin/${HEAD_REF}")" >> "$GITHUB_OUTPUT" + echo "build_config=RelWithDebInfo" >> "$GITHUB_OUTPUT" + echo "build_shared=${{ matrix.ssl == 'dynamic' }}" >> $GITHUB_OUTPUT + echo "build_server=1" >> "$GITHUB_OUTPUT" + echo "build_tools=0" >> "$GITHUB_OUTPUT" + echo "build_target_arch=arm64" >> "$GITHUB_OUTPUT" + + - name: Install build dependencies + shell: bash + run: | + brew update + brew install ninja cmake + + python3 -m pip install --upgrade pip + python3 -m pip install conan + + conan --version + cmake --version + ninja --version + clang --version + + - name: Restore Conan cache + id: conan-cache-restore + uses: actions/cache/restore@v4 + with: + path: ~/.conan/data + key: conan-macos-arm64-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} + + - name: Configure + shell: bash + run: | + cmake -S . -B build \ + -G Ninja \ + -DTARGET_BUILD_ARCH=${{ steps.vars.outputs.build_target_arch }} \ + -DCMAKE_BUILD_TYPE=${{ steps.vars.outputs.build_config }} \ + -DSHARED_OPENSSL=${{ steps.vars.outputs.build_shared }} \ + -DSTATIC_STDCXX=false \ + -DBUILD_SERVER=${{ steps.vars.outputs.build_server }} \ + -DBUILD_ABI_CHECK_TOOL=${{ steps.vars.outputs.build_tools }} + + - name: Build + shell: bash + run: | + cmake --build build \ + --config ${{ steps.vars.outputs.build_config }} \ + --parallel "$(sysctl -n hw.logicalcpu)" + + - name: Save Conan cache + if: steps.conan-cache-restore.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: ~/.conan/data + key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} + + - name: Create build archive + id: build + shell: bash + run: | + version="${{ steps.vars.outputs.build_version }}" + artifact_name="open.mp-macos-arm-${{ matrix.arch }}${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${version}" + + echo "artifact_name=${artifact_name}" >> "$GITHUB_OUTPUT" + + cd "build/Output/${{ steps.vars.outputs.build_config }}" + tar -cJvf "${artifact_name}.tar.xz" "Server" + + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.build.outputs.artifact_name }} + path: build/Output/${{ steps.vars.outputs.build_config }}/${{ steps.build.outputs.artifact_name }}.tar.xz + if-no-files-found: error From 2fd0299abe9be7be0cb00d9f26e163f459427b28 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:10:00 +0330 Subject: [PATCH 02/10] fix macos arm build, thanks to @borz7zy --- Server/Source/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Server/Source/CMakeLists.txt b/Server/Source/CMakeLists.txt index 914e7d748..9f8acac51 100644 --- a/Server/Source/CMakeLists.txt +++ b/Server/Source/CMakeLists.txt @@ -35,7 +35,9 @@ if(MSVC) winmm ) else() - target_link_libraries(Server PRIVATE dl atomic) + if(UNIX AND NOT APPLE) + target_link_libraries(Server PRIVATE dl atomic) + endif() if(SHARED_STDCXXFS) target_link_libraries(Server PRIVATE stdc++fs) From 9e0d7fd010f2123efeeec0dddf1e7a150e25bd20 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:25:59 +0330 Subject: [PATCH 03/10] attempt to fix conan installation on macos --- .github/workflows/build.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c64e9d8db..25148f3fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -337,8 +337,13 @@ jobs: brew update brew install ninja cmake - python3 -m pip install --upgrade pip - python3 -m pip install conan + python3 -m venv "$RUNNER_TEMP/conan-venv" + source "$RUNNER_TEMP/conan-venv/bin/activate" + + python -m pip install --upgrade pip + python -m pip install conan + + echo "$RUNNER_TEMP/conan-venv/bin" >> "$GITHUB_PATH" conan --version cmake --version @@ -383,7 +388,7 @@ jobs: shell: bash run: | version="${{ steps.vars.outputs.build_version }}" - artifact_name="open.mp-macos-arm-${{ matrix.arch }}${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${version}" + artifact_name="open.mp-macos-arm-${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${version}" echo "artifact_name=${artifact_name}" >> "$GITHUB_OUTPUT" From be6046810292da0801298a058aa7ffde7d2bf5d3 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:32:53 +0330 Subject: [PATCH 04/10] new cache folders, lower macos cmake version --- .github/workflows/build.yml | 31 ++++++++++++++++++------------- docker/abicheck.sh | 7 ++++++- docker/build.sh | 7 ++++++- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 25148f3fa..6dec5f01b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -76,7 +76,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: ~/.conan/data + path: ~/.conan2/p key: conan-windows-${{ matrix.arch }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Generate build files @@ -93,7 +93,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: ~/.conan/data + path: ~/.conan2/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} - name: Build @@ -161,7 +161,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/data + path: docker/conan/p key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Build @@ -175,7 +175,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/data + path: docker/conan/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} - name: Create a build archive @@ -262,7 +262,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/data + path: docker/conan/p key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Run ARM build @@ -280,12 +280,12 @@ jobs: export CC=/usr/bin/clang-11 export CXX=/usr/bin/clang++-11 export PATH=~/.local/bin:${PATH} - mkdir -p docker/conan/data - mkdir ~/.conan - mv docker/conan/data ~/.conan + mkdir -p docker/conan/p + mkdir -p ~/.conan2 + mv docker/conan/p ~/.conan2 cmake -S . -B build -G Ninja -DTARGET_BUILD_ARCH=${{ matrix.arch == 'arm32' && 'armv7' || 'armv8' }} -DCMAKE_BUILD_TYPE=${{ steps.vars.outputs.build_config }} -DSHARED_OPENSSL=${{ matrix.ssl == 'dynamic' }} -DSTATIC_STDCXX=true -DBUILD_SERVER=1 -DBUILD_ABI_CHECK_TOOL=0 cmake --build build --config ${{ steps.vars.outputs.build_config }} --parallel $(nproc) - mv ~/.conan/data docker/conan + mv ~/.conan2/p docker/conan - name: Upload build artifacts uses: actions/upload-artifact@v4 @@ -300,7 +300,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/data + path: docker/conan/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} build-macos-arm: @@ -331,11 +331,16 @@ jobs: echo "build_tools=0" >> "$GITHUB_OUTPUT" echo "build_target_arch=arm64" >> "$GITHUB_OUTPUT" + - name: Install CMake + uses: lukka/get-cmake@latest + with: + cmakeVersion: "3.31.8" + - name: Install build dependencies shell: bash run: | brew update - brew install ninja cmake + brew install ninja python3 -m venv "$RUNNER_TEMP/conan-venv" source "$RUNNER_TEMP/conan-venv/bin/activate" @@ -354,7 +359,7 @@ jobs: id: conan-cache-restore uses: actions/cache/restore@v4 with: - path: ~/.conan/data + path: ~/.conan2/p key: conan-macos-arm64-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Configure @@ -380,7 +385,7 @@ jobs: if: steps.conan-cache-restore.outputs.cache-hit != 'true' uses: actions/cache/save@v4 with: - path: ~/.conan/data + path: ~/.conan2/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} - name: Create build archive diff --git a/docker/abicheck.sh b/docker/abicheck.sh index 1eebaecd0..34512ea13 100644 --- a/docker/abicheck.sh +++ b/docker/abicheck.sh @@ -41,13 +41,18 @@ for folder in "${folders[@]}"; do fi done +if [[ ! -d "./conan/p" ]]; then + mkdir -p ./conan/p && + sudo chown -R 1000:1000 ./conan || exit 1 +fi + docker run \ --rm \ -t \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan:/home/user/.conan \ + -v $PWD/conan/p:/home/user/.conan2/p \ -v $PWD/ref:/ref \ -e CONFIG=${config} \ -e NIGHTLY_REPO=${nightly_repo} \ diff --git a/docker/build.sh b/docker/build.sh index 74fc53796..87cdd7927 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -38,13 +38,18 @@ for folder in "${folders[@]}"; do sudo chown -R 1000:1000 ${folder} || exit 1 done +if [[ ! -d "./conan/p" ]]; then + mkdir -p ./conan/p + sudo chown -R 1000:1000 ./conan || exit 1 +fi + docker run \ --rm \ -t \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan:/home/user/.conan \ + -v $PWD/conan/p:/home/user/.conan2/p \ -e CONFIG=${config} \ -e TARGET_BUILD_ARCH=${target_build_arch} \ -e BUILD_SHARED=${build_shared} \ From a1f761c1c2880e263b5e8fe5564ed620bcbd8e76 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:43:10 +0330 Subject: [PATCH 05/10] attempt 3 to build macos --- .github/workflows/build.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6dec5f01b..a740ff0a6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -365,8 +365,16 @@ jobs: - name: Configure shell: bash run: | + export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)" + export MACOSX_DEPLOYMENT_TARGET="11.0" + export CFLAGS="-isysroot ${SDKROOT}" + export CXXFLAGS="-isysroot ${SDKROOT}" + export LDFLAGS="-isysroot ${SDKROOT}" + cmake -S . -B build \ -G Ninja \ + -DCMAKE_OSX_SYSROOT="${SDKROOT}" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET}" \ -DTARGET_BUILD_ARCH=${{ steps.vars.outputs.build_target_arch }} \ -DCMAKE_BUILD_TYPE=${{ steps.vars.outputs.build_config }} \ -DSHARED_OPENSSL=${{ steps.vars.outputs.build_shared }} \ From 440eacdb5c5550ff18f349d6f9a68f1cb360ff9a Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:43:24 +0330 Subject: [PATCH 06/10] try to fix linux build for conan cache folder --- docker/abicheck.sh | 10 ++++------ docker/build.sh | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/docker/abicheck.sh b/docker/abicheck.sh index 34512ea13..c4fd1b126 100644 --- a/docker/abicheck.sh +++ b/docker/abicheck.sh @@ -36,15 +36,13 @@ docker build \ folders=('build' 'conan') for folder in "${folders[@]}"; do if [[ ! -d "./${folder}" ]]; then - mkdir ${folder} && - sudo chown 1000:1000 ${folder} || exit 1 + mkdir "./${folder}" || exit 1 fi + sudo chown -R 1000:1000 "./${folder}" || exit 1 done -if [[ ! -d "./conan/p" ]]; then - mkdir -p ./conan/p && - sudo chown -R 1000:1000 ./conan || exit 1 -fi +mkdir -p "./conan/p" || exit 1 +sudo chown -R 1000:1000 "./conan" || exit 1 docker run \ --rm \ diff --git a/docker/build.sh b/docker/build.sh index 87cdd7927..5f484c7ff 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -33,15 +33,13 @@ docker build \ folders=('build' 'conan') for folder in "${folders[@]}"; do if [[ ! -d "./${folder}" ]]; then - mkdir ${folder} + mkdir "./${folder}" fi - sudo chown -R 1000:1000 ${folder} || exit 1 + sudo chown -R 1000:1000 "./${folder}" || exit 1 done -if [[ ! -d "./conan/p" ]]; then - mkdir -p ./conan/p - sudo chown -R 1000:1000 ./conan || exit 1 -fi +mkdir -p "./conan/p" || exit 1 +sudo chown -R 1000:1000 "./conan" || exit 1 docker run \ --rm \ From 334acc56a85b8578ac41ca39991eaf700f4e7f4d Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 16:53:46 +0330 Subject: [PATCH 07/10] macos works, conan cache doesnt, fuck linux --- .github/workflows/build.yml | 12 ++++++------ docker/abicheck.sh | 11 ++++------- docker/build.sh | 9 +++------ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a740ff0a6..b05fae272 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -161,7 +161,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/p + path: docker/conan2/p key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Build @@ -175,7 +175,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/p + path: docker/conan2/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} - name: Create a build archive @@ -262,7 +262,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/p + path: docker/conan2/p key: conan-linux-${{ matrix.arch }}-${{ matrix.ssl }}-${{ hashFiles('CMakeLists.txt', 'lib/CMakeLists.txt', 'SDK/CMakeLists.txt', 'SDK/lib/cmake-conan/conan.cmake', 'SDK/lib/cmake-conan/conan-omp.cmake') }} - name: Run ARM build @@ -280,12 +280,12 @@ jobs: export CC=/usr/bin/clang-11 export CXX=/usr/bin/clang++-11 export PATH=~/.local/bin:${PATH} - mkdir -p docker/conan/p + mkdir -p docker/conan2/p mkdir -p ~/.conan2 mv docker/conan/p ~/.conan2 cmake -S . -B build -G Ninja -DTARGET_BUILD_ARCH=${{ matrix.arch == 'arm32' && 'armv7' || 'armv8' }} -DCMAKE_BUILD_TYPE=${{ steps.vars.outputs.build_config }} -DSHARED_OPENSSL=${{ matrix.ssl == 'dynamic' }} -DSTATIC_STDCXX=true -DBUILD_SERVER=1 -DBUILD_ABI_CHECK_TOOL=0 cmake --build build --config ${{ steps.vars.outputs.build_config }} --parallel $(nproc) - mv ~/.conan2/p docker/conan + mv ~/.conan2/p docker/conan2 - name: Upload build artifacts uses: actions/upload-artifact@v4 @@ -401,7 +401,7 @@ jobs: shell: bash run: | version="${{ steps.vars.outputs.build_version }}" - artifact_name="open.mp-macos-arm-${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${version}" + artifact_name="open.mp-macos-arm${{ matrix.ssl == 'dynamic' && '-dynssl' || '' }}-${version}" echo "artifact_name=${artifact_name}" >> "$GITHUB_OUTPUT" diff --git a/docker/abicheck.sh b/docker/abicheck.sh index c4fd1b126..e173b7f41 100644 --- a/docker/abicheck.sh +++ b/docker/abicheck.sh @@ -33,24 +33,21 @@ docker build \ abicheck_ubuntu-${ubuntu_version}/ \ || exit 1 -folders=('build' 'conan') +folders=('build' 'conan2') for folder in "${folders[@]}"; do if [[ ! -d "./${folder}" ]]; then - mkdir "./${folder}" || exit 1 + mkdir ${folder} fi - sudo chown -R 1000:1000 "./${folder}" || exit 1 + sudo chown -R 1000:1000 ${folder} || exit 1 done -mkdir -p "./conan/p" || exit 1 -sudo chown -R 1000:1000 "./conan" || exit 1 - docker run \ --rm \ -t \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan/p:/home/user/.conan2/p \ + -v $PWD/conan2/p:/home/user/.conan2 \ -v $PWD/ref:/ref \ -e CONFIG=${config} \ -e NIGHTLY_REPO=${nightly_repo} \ diff --git a/docker/build.sh b/docker/build.sh index 5f484c7ff..b0e631738 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -33,21 +33,18 @@ docker build \ folders=('build' 'conan') for folder in "${folders[@]}"; do if [[ ! -d "./${folder}" ]]; then - mkdir "./${folder}" + mkdir ${folder} fi - sudo chown -R 1000:1000 "./${folder}" || exit 1 + sudo chown -R 1000:1000 ${folder} || exit 1 done -mkdir -p "./conan/p" || exit 1 -sudo chown -R 1000:1000 "./conan" || exit 1 - docker run \ --rm \ -t \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan/p:/home/user/.conan2/p \ + -v $PWD/conan:/home/user/.conan2 \ -e CONFIG=${config} \ -e TARGET_BUILD_ARCH=${target_build_arch} \ -e BUILD_SHARED=${build_shared} \ From 07cb5404810b68f02ec94174f803af8e8a0a489a Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 17:01:38 +0330 Subject: [PATCH 08/10] last one I swear :infinitylul: --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b05fae272..37217275c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -282,7 +282,7 @@ jobs: export PATH=~/.local/bin:${PATH} mkdir -p docker/conan2/p mkdir -p ~/.conan2 - mv docker/conan/p ~/.conan2 + mv docker/conan2/p ~/.conan2 cmake -S . -B build -G Ninja -DTARGET_BUILD_ARCH=${{ matrix.arch == 'arm32' && 'armv7' || 'armv8' }} -DCMAKE_BUILD_TYPE=${{ steps.vars.outputs.build_config }} -DSHARED_OPENSSL=${{ matrix.ssl == 'dynamic' }} -DSTATIC_STDCXX=true -DBUILD_SERVER=1 -DBUILD_ABI_CHECK_TOOL=0 cmake --build build --config ${{ steps.vars.outputs.build_config }} --parallel $(nproc) mv ~/.conan2/p docker/conan2 @@ -300,7 +300,7 @@ jobs: env: cache-name: cache-conan-modules with: - path: docker/conan/p + path: docker/conan2/p key: ${{ steps.conan-cache-restore.outputs.cache-primary-key }} build-macos-arm: From 820c8a4457f5384f696baa074cae7b081c545469 Mon Sep 17 00:00:00 2001 From: iAmir Date: Sat, 27 Jun 2026 17:13:44 +0330 Subject: [PATCH 09/10] fix conan folder names --- .gitignore | 1 + docker/build.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c428e3ac2..a322c1b4a 100644 --- a/.gitignore +++ b/.gitignore @@ -296,6 +296,7 @@ __pycache__/ *.i .vscode/ /docker/conan/ +/docker/conan2/ /docker/data/ /buildlinux/* **/CMakeFiles/* diff --git a/docker/build.sh b/docker/build.sh index b0e631738..911c0d053 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -30,7 +30,7 @@ docker build \ build_ubuntu-${ubuntu_version}/ \ || exit 1 -folders=('build' 'conan') +folders=('build' 'conan2') for folder in "${folders[@]}"; do if [[ ! -d "./${folder}" ]]; then mkdir ${folder} @@ -44,7 +44,7 @@ docker run \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan:/home/user/.conan2 \ + -v $PWD/conan2:/home/user/.conan2 \ -e CONFIG=${config} \ -e TARGET_BUILD_ARCH=${target_build_arch} \ -e BUILD_SHARED=${build_shared} \ From fc57257dd7110e088b21f442d8d157488987ea8d Mon Sep 17 00:00:00 2001 From: iAmir Date: Sun, 28 Jun 2026 12:45:15 +0330 Subject: [PATCH 10/10] fix ABI ci --- docker/abicheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/abicheck.sh b/docker/abicheck.sh index e173b7f41..69156bd70 100644 --- a/docker/abicheck.sh +++ b/docker/abicheck.sh @@ -47,7 +47,7 @@ docker run \ -w /code \ -v $PWD/..:/code \ -v $PWD/build:/code/build \ - -v $PWD/conan2/p:/home/user/.conan2 \ + -v $PWD/conan2:/home/user/.conan2 \ -v $PWD/ref:/ref \ -e CONFIG=${config} \ -e NIGHTLY_REPO=${nightly_repo} \