From 61af86785988fb2e7e40b6df126011544301f047 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sun, 21 Jul 2024 18:46:24 +0200 Subject: [PATCH 1/4] Start experiment. --- .github/workflows/gh_actions_ci.yml | 285 ++++++++++++++-------------- 1 file changed, 146 insertions(+), 139 deletions(-) diff --git a/.github/workflows/gh_actions_ci.yml b/.github/workflows/gh_actions_ci.yml index 7d733123..82bac65b 100644 --- a/.github/workflows/gh_actions_ci.yml +++ b/.github/workflows/gh_actions_ci.yml @@ -9,144 +9,151 @@ on: branches: - main jobs: - conda_asan: - runs-on: ubuntu-latest + osx_14_wheels: + runs-on: macos-14 steps: - uses: actions/checkout@v4 - - name: Build - run: bash tools/gha_conda_asan.sh - conda_static: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Build - run: bash tools/gha_conda_static.sh - osx_heyoka_head: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - name: Build - run: bash tools/gha_osx_heyoka_head.sh - osx_heyoka_head_static: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - name: Build - run: bash tools/gha_osx_heyoka_head_static.sh - manylinux228_x86_64-py312: - runs-on: ubuntu-latest - container: - image: pagmo2/manylinux228_x86_64_with_deps:latest - env: - HEYOKA_PY_BUILD_TYPE: "Python312" - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - steps: - # NOTE: don't updated to checkout@v4 here because - # the action does not work properly due to missing - # symbols on the ancient manylinux images. - - uses: actions/checkout@v3 - - name: Build - run: bash tools/gha_manylinux.sh - - uses: actions/upload-artifact@v3 - with: - name: wheel_312 - path: build/wheel/dist2/*.whl - manylinux228_x86_64-py311: - runs-on: ubuntu-latest - container: - image: pagmo2/manylinux228_x86_64_with_deps:latest - env: - HEYOKA_PY_BUILD_TYPE: "Python311" - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - steps: - - uses: actions/checkout@v3 - - name: Build - run: bash tools/gha_manylinux.sh - - uses: actions/upload-artifact@v3 - with: - name: wheel_311 - path: build/wheel/dist2/*.whl - manylinux228_x86_64-py310: - runs-on: ubuntu-latest - container: - image: pagmo2/manylinux228_x86_64_with_deps:latest - env: - HEYOKA_PY_BUILD_TYPE: "Python310" - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - steps: - - uses: actions/checkout@v3 - - name: Build - run: bash tools/gha_manylinux.sh - - uses: actions/upload-artifact@v3 - with: - name: wheel_310 - path: build/wheel/dist2/*.whl - manylinux228_x86_64-py39: - runs-on: ubuntu-latest - container: - image: pagmo2/manylinux228_x86_64_with_deps:latest - env: - HEYOKA_PY_BUILD_TYPE: "Python39" - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - steps: - - uses: actions/checkout@v3 - - name: Build - run: bash tools/gha_manylinux.sh - - uses: actions/upload-artifact@v3 - with: - name: wheel_39 - path: build/wheel/dist2/*.whl - manylinux228_x86_64-py38: - runs-on: ubuntu-latest - container: - image: pagmo2/manylinux228_x86_64_with_deps:latest - env: - HEYOKA_PY_BUILD_TYPE: "Python38" - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - steps: - - uses: actions/checkout@v3 - - name: Build - run: bash tools/gha_manylinux.sh - - uses: actions/upload-artifact@v3 - with: - name: wheel_38 - path: build/wheel/dist2/*.whl - windows_2022_heyoka_head: - runs-on: windows-2022 - steps: - - uses: actions/checkout@v4 - - uses: conda-incubator/setup-miniconda@v3 - with: - auto-update-conda: true - python-version: "3.10" - channels: conda-forge - channel-priority: strict - - uses: ilammy/msvc-dev-cmd@v1 - - name: Build - shell: pwsh - run: | - conda install -y python=3.10 git pybind11 numpy<2 cmake llvmdev tbb-devel tbb astroquery libboost-devel fmt<11 skyfield spdlog sleef sympy cloudpickle zlib libzlib 'mppp=1.*' numba - git clone --depth 1 https://github.com/bluescarni/heyoka.git heyoka_cpp - cd heyoka_cpp - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=C:\Miniconda\envs\test\Library -DCMAKE_INSTALL_PREFIX=C:\Miniconda\envs\test\Library -DBoost_NO_BOOST_CMAKE=ON -DHEYOKA_ENABLE_IPO=yes -DHEYOKA_WITH_SLEEF=yes -DHEYOKA_WITH_MPPP=yes - cmake --build . --config Release --target install -j2 - cd .. - cd .. - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=C:\Miniconda\envs\test\Library -DCMAKE_INSTALL_PREFIX=C:\Miniconda\envs\test\Library -DBoost_NO_BOOST_CMAKE=ON -DHEYOKA_PY_ENABLE_IPO=yes - cmake --build . --config Release --target install -j2 - cd .. - cd tools - python ci_test_runner.py --with-numba - binder_cache: - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/main' - steps: - - name: cache binder build on mybinder.org - uses: jupyterhub/repo2docker-action@master - with: - NO_PUSH: true - MYBINDERORG_TAG: ${{ github.event.ref }} # This builds the container on mybinder.org with the branch that was pushed on. + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + # conda_asan: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v4 + # - name: Build + # run: bash tools/gha_conda_asan.sh + # conda_static: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v4 + # - name: Build + # run: bash tools/gha_conda_static.sh + # osx_heyoka_head: + # runs-on: macos-latest + # steps: + # - uses: actions/checkout@v4 + # - name: Build + # run: bash tools/gha_osx_heyoka_head.sh + # osx_heyoka_head_static: + # runs-on: macos-latest + # steps: + # - uses: actions/checkout@v4 + # - name: Build + # run: bash tools/gha_osx_heyoka_head_static.sh + # manylinux228_x86_64-py312: + # runs-on: ubuntu-latest + # container: + # image: pagmo2/manylinux228_x86_64_with_deps:latest + # env: + # HEYOKA_PY_BUILD_TYPE: "Python312" + # TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + # steps: + # # NOTE: don't updated to checkout@v4 here because + # # the action does not work properly due to missing + # # symbols on the ancient manylinux images. + # - uses: actions/checkout@v3 + # - name: Build + # run: bash tools/gha_manylinux.sh + # - uses: actions/upload-artifact@v3 + # with: + # name: wheel_312 + # path: build/wheel/dist2/*.whl + # manylinux228_x86_64-py311: + # runs-on: ubuntu-latest + # container: + # image: pagmo2/manylinux228_x86_64_with_deps:latest + # env: + # HEYOKA_PY_BUILD_TYPE: "Python311" + # TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + # steps: + # - uses: actions/checkout@v3 + # - name: Build + # run: bash tools/gha_manylinux.sh + # - uses: actions/upload-artifact@v3 + # with: + # name: wheel_311 + # path: build/wheel/dist2/*.whl + # manylinux228_x86_64-py310: + # runs-on: ubuntu-latest + # container: + # image: pagmo2/manylinux228_x86_64_with_deps:latest + # env: + # HEYOKA_PY_BUILD_TYPE: "Python310" + # TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + # steps: + # - uses: actions/checkout@v3 + # - name: Build + # run: bash tools/gha_manylinux.sh + # - uses: actions/upload-artifact@v3 + # with: + # name: wheel_310 + # path: build/wheel/dist2/*.whl + # manylinux228_x86_64-py39: + # runs-on: ubuntu-latest + # container: + # image: pagmo2/manylinux228_x86_64_with_deps:latest + # env: + # HEYOKA_PY_BUILD_TYPE: "Python39" + # TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + # steps: + # - uses: actions/checkout@v3 + # - name: Build + # run: bash tools/gha_manylinux.sh + # - uses: actions/upload-artifact@v3 + # with: + # name: wheel_39 + # path: build/wheel/dist2/*.whl + # manylinux228_x86_64-py38: + # runs-on: ubuntu-latest + # container: + # image: pagmo2/manylinux228_x86_64_with_deps:latest + # env: + # HEYOKA_PY_BUILD_TYPE: "Python38" + # TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + # steps: + # - uses: actions/checkout@v3 + # - name: Build + # run: bash tools/gha_manylinux.sh + # - uses: actions/upload-artifact@v3 + # with: + # name: wheel_38 + # path: build/wheel/dist2/*.whl + # windows_2022_heyoka_head: + # runs-on: windows-2022 + # steps: + # - uses: actions/checkout@v4 + # - uses: conda-incubator/setup-miniconda@v3 + # with: + # auto-update-conda: true + # python-version: "3.10" + # channels: conda-forge + # channel-priority: strict + # - uses: ilammy/msvc-dev-cmd@v1 + # - name: Build + # shell: pwsh + # run: | + # conda install -y python=3.10 git pybind11 numpy<2 cmake llvmdev tbb-devel tbb astroquery libboost-devel fmt<11 skyfield spdlog sleef sympy cloudpickle zlib libzlib 'mppp=1.*' numba + # git clone --depth 1 https://github.com/bluescarni/heyoka.git heyoka_cpp + # cd heyoka_cpp + # mkdir build + # cd build + # cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=C:\Miniconda\envs\test\Library -DCMAKE_INSTALL_PREFIX=C:\Miniconda\envs\test\Library -DBoost_NO_BOOST_CMAKE=ON -DHEYOKA_ENABLE_IPO=yes -DHEYOKA_WITH_SLEEF=yes -DHEYOKA_WITH_MPPP=yes + # cmake --build . --config Release --target install -j2 + # cd .. + # cd .. + # mkdir build + # cd build + # cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=C:\Miniconda\envs\test\Library -DCMAKE_INSTALL_PREFIX=C:\Miniconda\envs\test\Library -DBoost_NO_BOOST_CMAKE=ON -DHEYOKA_PY_ENABLE_IPO=yes + # cmake --build . --config Release --target install -j2 + # cd .. + # cd tools + # python ci_test_runner.py --with-numba + # binder_cache: + # runs-on: ubuntu-latest + # if: github.ref == 'refs/heads/main' + # steps: + # - name: cache binder build on mybinder.org + # uses: jupyterhub/repo2docker-action@master + # with: + # NO_PUSH: true + # MYBINDERORG_TAG: ${{ github.event.ref }} # This builds the container on mybinder.org with the branch that was pushed on. From 734bda4cee7afe5a2464acef78028fa1e386893c Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sun, 21 Jul 2024 18:49:20 +0200 Subject: [PATCH 2/4] Try installing some packages. --- .github/workflows/gh_actions_ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/gh_actions_ci.yml b/.github/workflows/gh_actions_ci.yml index 82bac65b..292d6629 100644 --- a/.github/workflows/gh_actions_ci.yml +++ b/.github/workflows/gh_actions_ci.yml @@ -16,6 +16,8 @@ jobs: - name: Set up Homebrew id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master + - name: Install deps via Homebrew + run: brew install sleef llvm cmake gmp mpfr # conda_asan: # runs-on: ubuntu-latest # steps: From daefbd4eccbad28ef72c0e2ba502e0ebf6fc83ad Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sun, 21 Jul 2024 18:54:23 +0200 Subject: [PATCH 3/4] Pinning attempt. --- .github/workflows/gh_actions_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh_actions_ci.yml b/.github/workflows/gh_actions_ci.yml index 292d6629..3674cdab 100644 --- a/.github/workflows/gh_actions_ci.yml +++ b/.github/workflows/gh_actions_ci.yml @@ -17,7 +17,7 @@ jobs: id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master - name: Install deps via Homebrew - run: brew install sleef llvm cmake gmp mpfr + run: brew install sleef llvm gmp mpfr tbb@2021.10.0 fmt@10.2.1 spdlog@1.13.0 # conda_asan: # runs-on: ubuntu-latest # steps: From 7a34dd5a325db0dfdc7b277032651e21de1f31ce Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sun, 21 Jul 2024 19:10:16 +0200 Subject: [PATCH 4/4] Try again. --- .github/workflows/gh_actions_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh_actions_ci.yml b/.github/workflows/gh_actions_ci.yml index 3674cdab..d5daf72c 100644 --- a/.github/workflows/gh_actions_ci.yml +++ b/.github/workflows/gh_actions_ci.yml @@ -17,7 +17,7 @@ jobs: id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master - name: Install deps via Homebrew - run: brew install sleef llvm gmp mpfr tbb@2021.10.0 fmt@10.2.1 spdlog@1.13.0 + run: brew install sleef llvm gmp mpfr tbb fmt@10.2.1 spdlog@1.13.0 # conda_asan: # runs-on: ubuntu-latest # steps: