summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2021-06-09Make squasing more robust (#6713)Gereon Kremer
This PR makes squashing olds commits in the docs-cleanup CI job more robust: it makes sure that the squash commit has a proper commit date and that we gracefully handle if there is nothing to squash.
2021-06-03[GitHub Actions] Make caching of dependencies depend on image version (#6677)Andres Noetzli
Our Clang builds started to fail to link when the environment changed. This commit changes our CI to only use cached dependencies if the build environment has not changed.
2021-06-02Do manual squash cleanup for docs (#6646)Gereon Kremer
This PR abandons the attempt to do the cleanup in a single rebase command, and instead squashes the old commits manually. The current solution does not handle conflicts properly. The new approach (which seems to be more robust) proceeds as follows (to squash $first..$last): - checkout $last - soft reset to $first (checkout $first, but keep changes in working copy) - commit to squashed commit - cherry-pick $last..HEAD from main branch
2021-05-27Avoid uploading docs if they did not change (#6621)Gereon Kremer
Fixes an oversight from #6601.
2021-05-26Reduce size of sphinx-gh output (#6601)Gereon Kremer
This PR reduces the disk size of the docs generated by make sphinx-gh. Apart from reformatting the cmake source, we now not only remove the _sources folder, but also .doctrees (essentially the sphinx cache) and _static/fonts/ (the fonts that are actually used live in _static/css/fonts). In combination, this now reduces the disk size from about 20MB (sphinx) to less than 6MB (sphinx-gh). Furthermore this PR only uploads the generated documentation if it differs from whatever we currently have for master. This is relevant to make the docs-ci repository smaller (which already has more than 5GB...)
2021-05-21Use scikit-build CMake files for pycvc5 (#6543)makaimann
This PR removes copied CMake files for the pycvc5 Cython target, and instead adds a dependency on scikit-build (where those CMake files originated anyway). This keeps us up to date with fixes. Furthermore, the PR switches from distutils to the more modern setuptools. This does add another dependency but it's a fairly reasonable one. setuptools is not part of the base Python distribution, but my understanding is that it is now the de facto standard, and most package managers install it automatically with Python. The main motivation for switching is in preparation for building wheels. This PR is a piece of this old one (#5657) which I am closing and splitting up.
2021-05-20Disable unit testing for clang builds. (#6595)Aina Niemetz
We currently have issues with clang 11 failing for white unit tests. This disables unit tests for clang builds.
2021-05-14Restrict additional CI jobs (#6539)Gereon Kremer
The new upload-docs CI job is currently run unconditionally after the CI job finishes. It can only work, though, if the CI job worked and stored an artifact. The PR update job is run for all commits on master, though it only has the necessary token when running on the main repository. This PR restricts both jobs to cases where they work.
2021-05-12Move docs upload to a different workflow (#6512)Gereon Kremer
This PR (finally, I hope) uses a proper setup for uploading the documentation. One of the CI jobs generates the documentation and stores it in an artifact. Another workflow is triggered (via workflow_run) and then uploads this artifact. Only this setup seems to properly work for PR builds.
2021-05-07Integrate documentation build with the regular CI workflow (#6490)Gereon Kremer
The new documentation workflow requires building CVC5 again in a separate workflow, which takes quite some time. This PR integrates building the documentation with the regular CI workflow.
2021-05-06Update README.md and remove last CVC4 references. (#6497)Mathias Preiner
2021-05-04Use proper commit hash for PRs (#6485)Gereon Kremer
For PRs, the automatically generated documentation is stored under the current master commit hash instead of the hash of the latest commit on the PR. This PR fixes this issue by exporting the commit hash (much like the name of the PR or branch).
2021-05-03Add missing --auto-download in CI (#6478)Gereon Kremer
This PR adds --auto-download for the CI job that builds the documentation. Also makes sure that the documentation workflow never fails.
2021-05-03Add CI jobs to build docs (#6413)Gereon Kremer
This PR adds CI jobs to automatically build documentation for branches on the main repository and for pull request. The first job builds the documentation for every push and pr and stores the generated documentation in cvc5.github.io/docs-ci. All versions are stored and for every branch and PR a symbolic link to the most recent version is maintained. Note that the PR jobs are run by the pull_request_target trigger that allows access to repository secrets, but runs in the context of the target branch and we thus need to (carefully!) pull in the relevant changes manually. The second job runs once a week and prunes the docs-ci repository: all directories that have not been touched for a month are removed, and all commits older than a month are squashed into a single commit. This retains the full history for the last month, but effectively removes everything older than that.
2021-05-03SymFPU: Automatically apply patch from 2020-11-14. (#6471)Aina Niemetz
This automatically applies @martin-cs's working patch from 2020-11-14. It fixes several issues, all covered open issues are added as regression tests. Fixes #3582. Fixes #5511. Fixes #6164.
2021-04-21Goodbye CVC4, hello cvc5! (#6371)Mathias Preiner
This commits changes the build system to cvc5 and removes the remaining occurrences of CVC4. It further cleans up outdated/unused scripts in contrib/.
2021-04-16Refactor cmake: auto-download and default-on dependencies (#6355)Gereon Kremer
This PR changes a few things in how dependencies are handled during configuration: - --x-dir are removed for most dependencies, use the generic --dep-path instead - the cmake ENABLE_AUTO_DOWNLOAD determines whether we attempt to download missing dependencies ourselves - external projects check this option and send an error if it is OFF - some optional dependencies are enabled by default (CaDiCaL, Poly, SymFPU) This will essentially fail every call to ./configure.sh until the user specifies --auto-download.
2021-04-13ci: Use CVC5_REGRESSION_ARGS. (#6347)Mathias Preiner
2021-04-12Fix GitHub Actions macOS build (#6331)Andres Noetzli
The build is currently failing because it tries to download an older version of the ccache package. This commit makes sure that Homebrew is up-to-date before trying to install packages.
2021-04-08Use newer version of update-pr-branch action. (#6315)Gereon Kremer
The CI action we use to update PRs that are ready to merge has been updated and now only considers the last review of every reviewer. It now allows to automatically update (and then merge) PRs where a reviewer first requested changes, and then accepted the PR. See adRise/update-pr-branch#11 for more details. This PR bumps the version to the most recent one.
2021-04-05New C++ Api: Rename and move headers. (#6292)Aina Niemetz
2021-04-02Add cache for new dependencies folder. (#6265)Gereon Kremer
This PR adds caching of the new dependencies folder build/deps/ for the CI jobs and renames the old deps folder to "auxiliary told". Note that we need to cache the entirety of build/deps/ (instead of just the install folder for the old one), otherwise cmake will try to rebuild them. Some of the external projects remove unnecessary files in their build to reduce their footprint in the cache.
2021-04-01Rename namespace CVC5 to cvc5. (#6258)Aina Niemetz
2021-03-31Rename namespace CVC4 to CVC5. (#6249)Aina Niemetz
2021-03-31Refactor GMP and Poly dependencies (#6245)Gereon Kremer
Refactors GMP and libpoly to also use external projects and be available within cmake as proper targets.
2021-03-31Refactor dependencies for external SAT solvers (#6215)Gereon Kremer
This PR refactors how we obtain, build and use the external SAT solvers used by CVC4: CaDiCaL, CryptoMiniSat and Kissat. All three contrib scripts are removed and instead an external project is integrated into the cmake find scripts.
2021-03-31Refactor SymFPU dependency (#6218)Gereon Kremer
This PR refactors the contrib script to download SymFPU to a cmake external project.
2021-03-27Refactor ANTLR3 dependency (#6202)Gereon Kremer
This PR refactors our first, and arguably most fragile, dependency. Right now all dependencies need to be manually installed (by calling the appropriate contrib/get-X script). For optional dependencies, we additionally need to enable them when calling the configure script (or via ccmake). This PR is the first step in refactoring all dependencies to be automatically build (if required) as an external project. Note that this not only eliminates the need to call contrib scripts, but also simplifies cross compilation: as all dependencies are now built within the build folders, every build folder has its own copy which may use different toolchains.
2021-03-23Removing unused build options and deprecated proof compile flag (#6195)Haniel Barbosa
2021-03-16ci: Enable checking of proofs + unsat cores. (#6088)Mathias Preiner
This commit refactors the run_regression.py script and adds options for enabling/disabling checking of proofs and unsat cores. Both options are enabled by default and disabled for each corresponding CI build.
2021-03-11ci: Replace debug builds with assertion enabled production builds. (#6098)Mathias Preiner
This will help reduce the CI times and ccache sizes.
2021-03-10Add GitHub action to automatically update approved PRs. (#6114)Mathias Preiner
2021-03-02Remove obsolete dependency on CxxTest. (#6038)Aina Niemetz
2021-03-01Make -Werror optional but enable it for CI. (#6032)Mathias Preiner
2021-02-26Fix -Werror issues with clang and use clang for debug-cln build. (#6004)Mathias Preiner
This fixes some issues that break the nightly ASAN builds with clang.
2021-02-09cmake: Make Python3 default and improve toml error messages. (#5884)Mathias Preiner
./configure.sh will now fail if Python3 is not installed on the system. Since Python2 is now deprecated the user has to explicitly enable it via --python2. This commit also removes the --python3 configure flag.
2020-12-01google test: Infrastructure and first api test. (#5548)Aina Niemetz
This sets up the infrastructure for migrating unit tests from CxxTest to Google Test. It further migrates api/datatype_api_black to the new infrastructure.
2020-11-17ci: Simplify Python dependency installs for Linux and macOS. (#5458)Mathias Preiner
2020-11-02Run python tests during make check (#5226)makaimann
If building with python bindings, check the pytest is installed, and adds a command to run pytest after the existing make check tests. If built without python bindings, it just uses a null command. Note: the current semantics are such that the pytest tests will not run if the ctest run fails (unless you pass the correct flag to make to continue --ignore-errors I believe). I can look into changing this semantics if that would be preferred.
2020-10-09Remove deprecated add-path commands and use $GITHUB_PATH instead. (#5232)Mathias Preiner
2020-10-03Fix CI builds and add cancel workflow.Mathias Preiner
2020-09-30Add GH action to cancel previous pending/running CI builds. (#5175)Mathias Preiner
GH introduced a new workflow event pull_request_target that now makes it possible to cancel builds on the base repository.
2020-09-22Fix compilation without LibPoly (#5118)Andres Noetzli
Commit e969318 introduced the ICP-based solver for nonlinear arithmetic. That code, however, depends on LibPoly. When configuring CVC4 without LibPoly, the code doesn't compile because the class ICPSolver is missing. This commit adds a dummy version if ICPSolver to remedy the issue.
2020-08-31[CI] Fix Cython installation (#4983)Andres Noetzli
Cython has been causing issues recently, see e.g. https://github.com/CVC4/CVC4/pull/4982/checks?check_run_id=1052433862. It looks like the issue is that globally installed packages can't be found by Python (maybe the global site-package directories changed/are not included in the search paths anymore?). This commit changes the installation of Cython to install it locally to the user instead of globally. It also adds `bin` in the user base directory to `PATH` s.t. CMake is able to find the `cython` binary.
2020-08-24Increase regress level to 2 for production build. (#4888)Mathias Preiner
2020-08-17[CI] Update package list (#4906)Andres Noetzli
Since https://github.com/CVC4/LFSC/commit/1d1c55fa17b08e2bc8cb686b9d07ec63bf0dd4a2 LFSC requires Flex, so we need to install the corresponding packages in our CI environment. This commit also removes SWIG from the list of packages to install since we do not use it anymore.
2020-08-07GH Actions: Remove cancel action. (#4843)Aina Niemetz
The previously introduced action to cancel running builds is not able to cancel builds on other branches, only on the same branch. As a consequence, when pushing to a branch for which a PR has been submitted, builds on the main repository are not cancelled. This removes the cancel build. If we want behavior similar to how it was on Travis, we need a workaround / more sophisticated solution since GH Actions doesn't really allow / support this (due to permission issues).
2020-07-30When linking Editline, use 'pkg-config' to correctly find the link-time ↵Andrew V. Jones
dependencies (#4809) Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-07-21GH Actions: Cancel builds on push, remove redundant mac OS build. (#4779)Aina Niemetz
2020-07-17Support for using 'libedit' over 'readline' #4571 (#4579)Andrew V. Jones
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback