Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/cvc5/cvc5
Browse files Browse the repository at this point in the history
  • Loading branch information
yoni206 committed Apr 18, 2024
2 parents 609d236 + 8714bc5 commit 0df7793
Show file tree
Hide file tree
Showing 2,220 changed files with 40,079 additions and 25,473 deletions.
4 changes: 3 additions & 1 deletion .github/actions/add-package/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,9 @@ runs:
for cnt,asset in enumerate(assets):
delete = False
if cnt >= 32:
# We generate 10 artifacts per build:
# {Linux, Linux-arm64, macOS, macOS-arm64, Windows} * {static, shared}
if cnt >= 20: # Keep at most 2 builds
delete = True
if asset.name.startswith(samedayprefix):
delete = True
Expand Down
35 changes: 28 additions & 7 deletions .github/actions/configure-and-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ inputs:
default: ""
configure-config:
default: ""
macos-target:
default: ""
build-shared:
default: true
type: boolean
Expand All @@ -25,6 +27,11 @@ outputs:
runs:
using: composite
steps:
- name: Set MACOSX_DEPLOYMENT_TARGET
if: runner.os == 'macOS' && inputs.macos-target
shell: ${{ inputs.shell }}
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ inputs.macos-target }}" >> $GITHUB_ENV

- name: Shared build
id: shared-build
# Boolean inputs are actually strings:
Expand All @@ -34,11 +41,14 @@ runs:
run: |
echo "::group::Shared build"
${{ inputs.configure-env }} ./configure.sh ${{ inputs.configure-config }} \
--prefix=$(pwd)/build-shared/install --werror --name=build-shared
--prefix=$(pwd)/build-shared/install --werror --name=build-shared \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache
# can not use `ccache --set-config=base_dir=` due to ccache bug, fixed with 3.7.10
cd build-shared/ && pwd=$(pwd)
if [[ "$RUNNER_OS" != "Windows" ]]; then
if [[ "$RUNNER_OS" == "Windows" ]]; then
ccache --set-config="base_dir=$pwd"
else
# can not use `ccache --set-config=base_dir=` due to ccache bug, fixed with 3.7.10
$SED -i.orig -n -e '/^base_dir = /!p' -e "\$abase_dir = $pwd" $CCACHE_CONFIGPATH
fi
Expand All @@ -56,10 +66,14 @@ runs:
run: |
echo "::group::Static build"
${{ inputs.configure-env }} ./configure.sh ${{ inputs.configure-config }} \
--prefix=$(pwd)/build-static/install --werror --static --name=build-static --no-java-bindings
--prefix=$(pwd)/build-static/install --werror --static --name=build-static --no-java-bindings \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache
cd build-static/ && pwd=$(pwd)
if [[ "$RUNNER_OS" != "Windows" ]]; then
if [[ "$RUNNER_OS" == "Windows" ]]; then
ccache --set-config="base_dir=$pwd"
else
# can not use `ccache --set-config=base_dir=` due to ccache bug, fixed with 3.7.10
$SED -i.orig -n -e '/^base_dir = /!p' -e "\$abase_dir = $pwd" $CCACHE_CONFIGPATH
fi
Expand All @@ -73,9 +87,16 @@ runs:
echo "::endgroup::"
- name: Reset ccache base_dir
if: runner.os != 'Windows'
shell: ${{ inputs.shell }}
run: |
echo "::group::Reset ccache base_dir"
$SED -i.orig -n -e '/^base_dir = /!p' -e "\$abase_dir =" $CCACHE_CONFIGPATH
if [[ "$RUNNER_OS" == "Windows" ]]; then
ccache --set-config="base_dir="
else
$SED -i.orig -n -e '/^base_dir = /!p' -e "\$abase_dir =" $CCACHE_CONFIGPATH
fi
echo "::endgroup::"
- name: ccache Statistics
shell: ${{ inputs.shell }}
run: ccache -s
38 changes: 27 additions & 11 deletions .github/actions/install-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,16 @@ runs:
libfl-dev
echo "SED=sed" >> $GITHUB_ENV
echo "CCACHE_CONFIGPATH=/home/runner/.ccache/ccache.conf" >> $GITHUB_ENV
echo "/usr/lib/ccache" >> $GITHUB_PATH
echo "::endgroup::"
- name: Install software for cross-compiling for arm64 Linux
if: runner.os == 'Linux'
shell: ${{ inputs.shell }}
run: |
echo "::group::Install software for cross-compiling for arm64 Linux"
sudo apt-get install -y \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu
echo "::endgroup::"
- name: Install software for cross-compiling for Windows
Expand Down Expand Up @@ -61,6 +70,7 @@ runs:
path-type: inherit
install: |
make
mingw-w64-x86_64-ccache
mingw-w64-x86_64-cmake
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gmp
Expand All @@ -85,21 +95,29 @@ runs:
brew install \
ccache \
gmp \
pkgconfig \
gnu-sed
echo "SED=gsed" >> $GITHUB_ENV
echo "CCACHE_CONFIGPATH=/Users/runner/Library/Preferences/ccache/ccache.conf" >> $GITHUB_ENV
echo "num_proc=$(( $(sysctl -n hw.logicalcpu) + 1 ))" >> $GITHUB_ENV
echo "/usr/local/opt/ccache/libexec" >> $GITHUB_PATH
echo "::endgroup::"
# Required by PEP-668
- name: Set up Python virtual environment
if: runner.os == 'macOS'
shell: ${{ inputs.shell }}
run: |
echo "::group::Set up Python virtual environment"
python3 -m venv ~/.venv
echo "$HOME/.venv/bin" >> $GITHUB_PATH
echo "::endgroup::"
- name: Install Python modules for building and testing
shell: ${{ inputs.shell }}
run: |
echo "::group::Install Python modules for building and testing"
python3 -m pip install --user -r contrib/requirements_build.txt
python3 -m pip install --user pexpect # For interactive shell tests
python3 -m pip install -r contrib/requirements_build.txt
python3 -m pip install pexpect # For interactive shell tests
echo "::endgroup::"
- name: Install software for Python bindings
Expand All @@ -108,9 +126,7 @@ runs:
run: |
echo "::group::Install software for Python bindings"
python3 -m pip install -q --upgrade pip
python3 -m pip install --user -r contrib/requirements_python_dev.txt
# Add binary path of user site-packages to PATH
echo "$(python3 -m site --user-base)/bin" >> $GITHUB_PATH
python3 -m pip install -r contrib/requirements_python_dev.txt
echo "::endgroup::"
- name: Install software for Python packaging
Expand All @@ -119,8 +135,8 @@ runs:
run: |
echo "::group::Install software for Python packaging"
python3 -m pip install -q --upgrade pip
python3 -m pip install --user twine
python3 -m pip install --user -U urllib3 requests
python3 -m pip install twine
python3 -m pip install -U urllib3 requests
echo "::endgroup::"
- name: Install software for documentation
Expand All @@ -129,7 +145,7 @@ runs:
run: |
echo "::group::Install software for documentation"
sudo apt-get install -y doxygen python3-docutils python3-jinja2
python3 -m pip install --user \
python3 -m pip install \
sphinx==7.1.2 \
sphinxcontrib-bibtex==2.5.0 sphinx-tabs==3.4.1 sphinx-rtd-theme==1.3.0 breathe==4.35.0 \
sphinxcontrib-programoutput==0.17
Expand Down
26 changes: 0 additions & 26 deletions .github/actions/package-python-wheel-macos/action.yml

This file was deleted.

150 changes: 0 additions & 150 deletions .github/actions/package-python-wheel/action.yml

This file was deleted.

Loading

0 comments on commit 0df7793

Please sign in to comment.