switch to exact version of cython
[ieee754fpu.git] / .gitlab-ci.yml
index bfadbc2aa1400f7e75e2e68c74862c0433b62956..58b21d4e4c265f9827b40a497a158a19fc58b3c5 100644 (file)
@@ -37,20 +37,25 @@ build:
             python3-keyring
             python3-pip
             python3-setuptools
+            python3-venv
             python3-wheel
             tcl-dev
-        - export PATH="$HOME/.local/bin:/usr/lib/ccache:$PATH"
+        - export PATH="/usr/lib/ccache:$PATH"
         - export CCACHE_BASEDIR="$PWD"
         - export CCACHE_DIR="$PWD/ccache"
         - export CCACHE_COMPILERCHECK=content
         - ccache --zero-stats || true
         - ccache --show-stats || true
-        - python3 -m pip install --user pytest-xdist twine cython
+        - python3 -m venv --system-site-packages .venv
+        - . .venv/bin/activate
+        - pip install pytest-xdist==3.3.1 pytest==7.3.1
     script:
+        - . .venv/bin/activate
+
         - IEEE754FPU_PATH="$(pwd)"
-        - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy
-        - git rev-parse HEAD
+        - git clone --depth 1 --recursive -b v0.6.0 https://github.com/billzorn/sfpy.git sfpy
         - pushd sfpy
+        - git apply "$IEEE754FPU_PATH"/sfpy.patch
         - pushd berkeley-softfloat-3
         - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
         - popd
@@ -58,15 +63,14 @@ build:
         - git apply ../softposit_sfpy_build.patch
         - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
         - popd
-        - ln -s `which python3` ~/.local/bin/python
+        - pip install -r requirements.txt
         - make lib -j$(nproc)
         - make cython -j$(nproc)
         - make wheel -j$(nproc)
-        - rm ~/.local/bin/python
-        - python3 -m pip install --user dist/sfpy*.whl
+        - pip install --force-reinstall dist/sfpy*.whl
         - popd
 
-        - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
+        - git clone --depth 1 -b smtlib2-expr-support-on-0.13 https://git.libre-soc.org/git/yosys.git yosys
         - pushd yosys
         - git rev-parse HEAD
         - make config-gcc
@@ -75,30 +79,40 @@ build:
         - popd
         - yosys -V
 
-        - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
-        - pushd SymbiYosys
-        - git rev-parse HEAD
+        - git clone https://git.libre-soc.org/git/SymbiYosys.git sby
+        - pushd sby
+        - git checkout db740839b737ee55b8b39f1b29780872d32d248a
         - make install
         - popd
 
-        - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
+        - git clone --depth 1 -b Yices-2.6.4 https://github.com/SRI-CSL/yices2.git yices2
         - pushd yices2
-        - git rev-parse HEAD
         - autoconf
         - ./configure
         - make -j$(nproc)
         - make install
         - popd
 
-        - git clone --depth 1 https://github.com/Z3Prover/z3.git z3
+        - git clone --depth 1 -b z3-4.8.17 https://github.com/Z3Prover/z3.git z3
         - pushd z3
-        - git rev-parse HEAD
         - python scripts/mk_make.py
         - cd build
         - make -j$(nproc)
         - make install
         - popd
 
+        - git clone https://github.com/bitwuzla/bitwuzla.git bitwuzla
+        - pushd bitwuzla
+        - git checkout 19dd987a6e246990619751cca07996fac505fd0b
+        - ./contrib/setup-btor2tools.sh
+        - ./contrib/setup-symfpu.sh
+        - ./contrib/setup-cadical.sh
+        - ./configure.sh
+        - cd build
+        - make -j$(nproc)
+        - make install
+        - popd
+
         - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
         - pushd nmigen
         - git rev-parse HEAD
@@ -111,6 +125,12 @@ build:
         - python3 setup.py develop
         - popd
 
+        - git clone --depth 1 https://git.libre-soc.org/git/pytest-output-to-files.git pytest-output-to-files
+        - pushd pytest-output-to-files
+        - git rev-parse HEAD
+        - python3 setup.py develop
+        - popd
+
         - python3 setup.py develop
 
-        - pytest -n auto src/ieee754
+        - pytest -v