Skip to content

Test mathsat5 latest release #59

Test mathsat5 latest release

Test mathsat5 latest release #59

Workflow file for this run

name: Test mathsat5 latest release
on:
schedule:
- cron: '15 0 * * 0'
workflow_dispatch:
permissions:
contents: write
concurrency:
group: solver-${{ github.workflow }}
cancel-in-progress: false
jobs:
mathsat5_workflow:
runs-on: ubuntu-latest
env:
NUM_TESTS: 1000
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python and System Dependencies
run: |
sudo apt update
sudo apt install -y ghc cabal-install sqlite3
python3 -m venv ./venv
source ./venv/bin/activate
pip install poetry
cabal update
cabal install --lib testing-feat
cabal install --lib size-based
- name: Set up Git user
run: |
git config --local user.name "GitHub Actions"
git config --local user.email "actions@github.com"
- name: Clone ET and Install Python Dependencies
run: |
git clone --branch dev https://github.com/wintered/ET.git
cd ET
source ../venv/bin/activate
poetry install
cd ..
- name: Create solver-specific config
run: |
cp ./solvers.cfg ./solvers-mathsat5.cfg
- name: Check and update solver version
id: check_version
run: |
source venv/bin/activate
pip install -r requirements.txt
python -m mathsat5-latest.main
- name: Commit and push version changes
if: steps.check_version.outputs.version_changed == 'true'
run: |
git pull origin main --rebase || git pull origin main || echo "Pull failed, continuing with local changes"
git add ./versions
git commit -m "Update solver version" --only ./versions
git push || echo "Push failed, but continuing"
- name: Run experiment for each theory
run: |
chmod +x ./scripts/run_exp.sh
chmod +x ./binaries/cvc5-1.2.0
chmod +x ./binaries/z3-4.8.11
chmod +x ./binaries/z3-4.13.3
for theory in $(cat ./supported_theories/mathsat5); do
./scripts/run_exp.sh "$theory" "$NUM_TESTS" "./solvers-mathsat5.cfg"
done
- name: Store experiment results
run: |
chmod +x ./scripts/create_db.sh
for theory in $(cat ./supported_theories/mathsat5); do
./scripts/create_db.sh "$theory"
done
- name: Gather statistics
run: |
chmod +x ./scripts/gather_statistics.sh
./scripts/gather_statistics.sh ./results ./found_bugs/mathsat5_bugs
- name: Commit unsoundness bugs
if: env.UNSOUNDNESS_FOUND == 'true'
run: |
git pull origin main --rebase || git pull origin main || echo "Pull failed, continuing with local changes"
git add ./found_bugs/mathsat5_bugs
git commit -m "Add unsoundness bugs"
git push || echo "Push failed, but continuing"
- name: Fail the action if unsoundness is found
if: env.UNSOUNDNESS_FOUND == 'true'
run: exit 1