Merge pull request #495 from isuruf/freethreading #341
This file contains 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: Debug | |
WITH_BFD: yes | |
PYTHON_VERSION: '3.12' | |
TEST_SYMPY: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Debug | |
WITH_BFD: yes | |
PYTHON_VERSION: '3.11' | |
TEST_SYMPY: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Debug | |
WITH_BFD: yes | |
PYTHON_VERSION: '3.10' | |
TEST_SYMPY: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Debug | |
WITH_BFD: yes | |
PYTHON_VERSION: '3.9' | |
TEST_SYMPY: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.8' | |
BUILD_SHARED_LIBS: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.8' | |
WITH_MPFR: yes | |
INTEGER_CLASS: gmpxx | |
WITH_NUMPY: no | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.8' | |
WITH_MPC: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
WITH_MPFR: yes | |
PYTHON_VERSION: '3.8' | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.9' | |
WITH_MPC: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.9' | |
WITH_MPC: yes | |
INTEGER_CLASS: flint | |
WITH_FLINT: yes | |
OS: ubuntu-20.04 | |
CC: gcc | |
#- BUILD_TYPE: Debug | |
# PYTHON_VERSION: '3.9' | |
# WITH_BFD: yes | |
# WITH_PIRANHA: yes | |
# OS: ubuntu-20.04 | |
# CC: gcc | |
- BUILD_TYPE: Debug | |
PYTHON_VERSION: '3.8' | |
WITH_BFD: yes | |
BUILD_SHARED_LIBS: yes | |
OS: ubuntu-20.04 | |
CC: clang | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.8' | |
WITH_NUMPY: yes | |
OS: ubuntu-20.04 | |
CC: clang | |
- BUILD_TYPE: Debug | |
PYTHON_VERSION: '3.10' | |
WITH_SYMPY: yes | |
WITH_LLVM: 14 | |
WITH_SCIPY: yes | |
INTEGER_CLASS: 'boostmp' | |
PYTEST_ADDOPTS: '-k "not integer_nthroot"' | |
OS: ubuntu-22.04 | |
EXTRA_APT_REPOSITORY: 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-14 main' | |
EXTRA_APT_PACKAGES: 'llvm-14' | |
- BUILD_TYPE: Debug | |
PYTHON_VERSION: '3.8' | |
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.8' | |
WITH_NUMPY: no | |
OS: macos-13 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.8' | |
OS: macos-13 | |
CC: gcc | |
- BUILD_TYPE: Release | |
PYTHON_VERSION: '3.11' | |
OS: ubuntu-20.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: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build and test symengine | |
shell: bash | |
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 }} | |
- 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 |