Support python stable ABI #417
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and test symengine | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.OS }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| BUILD_SHARED_LIBS: yes | |
| SYMENGINE_PY_LIMITED_API: '3.11' | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Debug | |
| WITH_BFD: yes | |
| PYTHON_VERSION: '3.12' | |
| TEST_SYMPY: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Debug | |
| WITH_BFD: yes | |
| PYTHON_VERSION: '3.11' | |
| TEST_SYMPY: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Debug | |
| WITH_BFD: yes | |
| PYTHON_VERSION: '3.10' | |
| TEST_SYMPY: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Debug | |
| WITH_BFD: yes | |
| PYTHON_VERSION: '3.9' | |
| TEST_SYMPY: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| BUILD_SHARED_LIBS: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| WITH_MPFR: yes | |
| INTEGER_CLASS: gmpxx | |
| WITH_NUMPY: no | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| WITH_MPC: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| WITH_MPFR: yes | |
| PYTHON_VERSION: '3.13' | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.9' | |
| WITH_MPC: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.9' | |
| WITH_MPC: yes | |
| INTEGER_CLASS: flint | |
| WITH_FLINT: yes | |
| OS: ubuntu-22.04 | |
| CC: gcc | |
| #- BUILD_TYPE: Debug | |
| # PYTHON_VERSION: '3.9' | |
| # WITH_BFD: yes | |
| # WITH_PIRANHA: yes | |
| # OS: ubuntu-22.04 | |
| # CC: gcc | |
| - BUILD_TYPE: Debug | |
| PYTHON_VERSION: '3.13' | |
| WITH_BFD: yes | |
| BUILD_SHARED_LIBS: yes | |
| OS: ubuntu-22.04 | |
| CC: clang | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| WITH_NUMPY: yes | |
| OS: ubuntu-22.04 | |
| CC: clang | |
| - BUILD_TYPE: Debug | |
| PYTHON_VERSION: '3.12' | |
| WITH_SYMPY: yes | |
| WITH_LLVM: 18 | |
| WITH_SCIPY: yes | |
| WITH_LATEST_GCC: yes | |
| INTEGER_CLASS: 'boostmp' | |
| PYTEST_ADDOPTS: '-k "not integer_nthroot"' | |
| OS: ubuntu-24.04 | |
| CC: gcc # ubuntu nobel uses gcc-13 | |
| #EXTRA_APT_REPOSITORY: 'deb http://apt.llvm.org/jammy/ llvm-toolchain-nobel-18 main' | |
| EXTRA_APT_PACKAGES: 'llvm-18' | |
| - BUILD_TYPE: Debug | |
| PYTHON_VERSION: '3.13' | |
| WITH_SCIPY: yes | |
| WITH_LLVM: 5.0 | |
| OS: macos-13 | |
| CC: clang | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.9' | |
| WITH_NUMPY: no | |
| OS: macos-13 | |
| CC: clang | |
| - BUILD_TYPE: Debug | |
| PYTHON_VERSION: '3.13' | |
| WITH_NUMPY: no | |
| OS: macos-13 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.13' | |
| OS: macos-13 | |
| CC: gcc | |
| - BUILD_TYPE: Release | |
| PYTHON_VERSION: '3.11' | |
| OS: ubuntu-22.04 | |
| WITH_MPC: yes | |
| WITH_MPFR: yes | |
| WITH_FLINT: yes | |
| WITH_FLINT_PY: yes | |
| WITH_SCIPY: yes | |
| WITH_DOCS: yes | |
| INTEGER_CLASS: flint | |
| TEST_SYMPY: yes | |
| CC: gcc | |
| steps: | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| if: matrix.MSYS_ENV == '' | |
| with: | |
| activate-environment: symengine | |
| channel-priority: strict | |
| architecture: x86_64 | |
| channels: conda-forge | |
| conda-remove-defaults: "true" | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Build and test symengine | |
| shell: bash -el {0} | |
| run: | | |
| source bin/test_symengine_unix.sh | |
| env: | |
| PYTEST_ADDOPTS: ${{ matrix.PYTEST_ADDOPTS }} | |
| USE_GLIBCXX_DEBUG: ${{ matrix.USE_GLIBCXX_DEBUG }} | |
| WITH_MPFR: ${{ matrix.WITH_MPFR }} | |
| BUILD_BENCHMARKS: ${{ matrix.BUILD_BENCHMARKS }} | |
| WITH_LLVM: ${{ matrix.WITH_LLVM }} | |
| WITH_BENCHMARKS_NONIUS: ${{ matrix.WITH_BENCHMARKS_NONIUS }} | |
| WITH_SYMENGINE_RCP: ${{ matrix.WITH_SYMENGINE_RCP }} | |
| TEST_IN_TREE: ${{ matrix.TEST_IN_TREE }} | |
| WITH_SYMENGINE_THREAD_SAFE: ${{ matrix.WITH_SYMENGINE_THREAD_SAFE }} | |
| WITH_PRIMESIEVE: ${{ matrix.WITH_PRIMESIEVE }} | |
| INTEGER_CLASS: ${{ matrix.INTEGER_CLASS }} | |
| WITH_ARB: ${{ matrix.WITH_ARB }} | |
| WITH_PIRANHA: ${{ matrix.WITH_PIRANHA }} | |
| WITH_GCC_6: ${{ matrix.WITH_GCC_6 }} | |
| CONDA_ENV_FILE: ${{ matrix.CONDA_ENV_FILE }} | |
| WITH_BFD: ${{ matrix.WITH_BFD }} | |
| WITH_FLINT: ${{ matrix.WITH_FLINT }} | |
| EXTRA_APT_REPOSITORY: ${{ matrix.EXTRA_APT_REPOSITORY }} | |
| EXTRA_APT_PACKAGES: ${{ matrix.EXTRA_APT_PACKAGES }} | |
| TEST_CLANG_FORMAT: ${{ matrix.TEST_CLANG_FORMAT }} | |
| WITH_ECM: ${{ matrix.WITH_ECM }} | |
| WITH_LATEST_GCC: ${{ matrix.WITH_LATEST_GCC }} | |
| OS: ${{ matrix.OS }} | |
| WITH_FLINT_DEV: ${{ matrix.WITH_FLINT_DEV }} | |
| CC: ${{ matrix.CC }} | |
| WITH_COVERAGE: ${{ matrix.WITH_COVERAGE }} | |
| BUILD_TYPE: ${{ matrix.BUILD_TYPE }} | |
| WITH_SANITIZE: ${{ matrix.WITH_SANITIZE }} | |
| WITH_MPC: ${{ matrix.WITH_MPC }} | |
| MAKEFLAGS: ${{ matrix.MAKEFLAGS }} | |
| BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }} | |
| PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }} | |
| SYMENGINE_PY_LIMITED_API: ${{ matrix.SYMENGINE_PY_LIMITED_API }} | |
| - name: Deploy Documentation | |
| if: ${{ (github.ref == 'refs/heads/main' && github.repository == 'Symengine/symengine.py') || (github.ref == 'refs/heads/master' && github.repository == 'Symengine/symengine.py')}} | |
| uses: peaceiris/actions-gh-pages@v3 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./genDocs |