summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2021-11-03Enable CI for Junit tests (#7436)mudathirmahgoub
This PR enables CI for java tests by adding --java-bindings to ci.yml. It also replaces the unreliable finalize method and instead uses AutoCloseable and explicit close method to clean up dynamic memory allocated by java native interface. The PR fixes compile errors for SolverTest.java and runtime errors for Solver.defineFun.
2021-11-01Fix a couple of issues with uploading docs for releases (#7543)Gereon Kremer
This PR fixes multiple issues with uploading docs for releases: the regular upload moved the generated docs, so the release upload would not find the docs; the check whether we have a release was incorrect; we probably want $NAME instead of docs-$NAME here.
2021-10-28Combine `--static` and `--static-binary` (#7520)Gereon Kremer
This PR combines the two configure flags --static and --static-binary into a single --static. Consequently, the two corresponding cmake variables are combined as well. The two variables have been implying each other for some time now and were only used to build not-completely-static binaries for MacOS, which is now done automatically anyway.
2021-10-28Build shared and static in CI (#7472)Gereon Kremer
This PR changes our strategy to deal with shared vs. static builds in CI jobs. All jobs now build cvc5 both shared and static by default. The builds happen in different build directories (build-shared and build-static), and we configure ccache such that these two build directories share a common cache.
2021-10-27Add documentation on output tags (#7499)Gereon Kremer
This PR adds documentation on how users can use -o. After some offline discussion, we decided it makes sense to generate them automatically in mkoptions.py and also include example outputs.
2021-10-26Upload docs for tags to docs-releases (#7415)Gereon Kremer
This automatically uploads the generated docs to a new repository docs-releases (which should eventually become docs). In contrast to docs-ci, we only store docs for releases there.
2021-10-21Refactor regressions script (#7249)Andres Noetzli
This makes the regression script more modular by refactoring all the different checks into separate classes, which makes it easier to add additional tests and to run only a subset of the tests.
2021-10-20Fix docs upload (again) (#7435)Gereon Kremer
This is a follow-up to #7420. This time, I tested the modified code with every combination of values...
2021-10-20Fix inadvertent failure of workflow step (#7420)Gereon Kremer
This fixes an issue introduced with #7352: jobs fail immediately if any command has a non-zero exit code. The way we obtained the exit code of the `diff` command was incompatible with this policy, which is why we currently never upload any docs to `docs-ci`.
2021-10-15Have docs_upload properly upload tags. (#7352)Gereon Kremer
This PR improves our docs-ci mechanism to properly upload documentation for tags.
2021-10-14Also test older cmake versions (#7347)Gereon Kremer
This PR generally improves the new CI job to test different cmake versions. It extends the tested versions back to 3.8 and also sets the minimum required version (cmake_minimum_required) to the version that is tested. This allows to check compatibility with changing cmake policies. It also modifies the run-tests action to get the regression options from explicit inputs instead of the build matrix. As the cmake job had no build matrix, it used to build regress3-4 as well.
2021-10-11Fix release action.Mathias Preiner
2021-10-11Add CI workflow to test different cmake versions (#7254)Gereon Kremer
This refactors the CI setup by moving parts of the CI workflow into new composite actions. This allows to reuse this parts in a new workflow that tests against many different cmake versions. It is mostly useful after modifying our cmake setup to check compatibility with older cmake versions. The workflow is not triggered automatically, but can be started manually.
2021-10-08Ignore zip files for docs upload diff (#7322)Gereon Kremer
This fixes the diff mechanism to detect whether the current PR changes the documentation. It ignores zip files now, i.e. the javadoc search index files.
2021-10-08Attach the static binaries to a release (#7324)Gereon Kremer
This adds another step to our CI pipeline that uploads the binary build by some of the jobs to a release.
2021-10-06Enable static builds in CI (#7281)Gereon Kremer
This PR modifies our CI builds to have two static production builds. These binaries will be used as release artifacts later.
2021-09-02[CI] Add step for running unit/API tests (#7116)Andres Noetzli
Currently, we configure one of our builds to include unit tests but then do not compile and run them. This commit adds a step to compile and run the unit/API tests.
2021-09-02Update CI to macOS 11 (#7104)Andres Noetzli
`macos-latest` is currently using macOS 10.15, so this updates the CI to use `mac-11` (Big Sur).
2021-08-30Add API function to obtain information about a single option (#6980)Gereon Kremer
This PR adds api::Solver::getOptionInfo() that returns information about a single option, including its name, aliases, current and default value and its domain.
2021-08-26Fix a subtle issues with squashing the docs-ci history (#7075)Gereon Kremer
The docs-cleanup job squashes all commits from the docs-ci repository that are older than one month. The current solution to retrieve the newest commit older than this one month erroneously relied on the commit date. As the script cherry-picks all newer commits, it should rather use the author date, though. Unfortunately, rev-list does not support filtering by author date, hence we use awk now...
2021-08-09Support older CMake versions (#7003)Andres Noetzli
Fixes #7001. Commit c8bc488 introduced the use of list(PREPEND ...) which was only introduced in version 3.15. We require CMake 3.9 or later and this commit makes our build system compatible with older CMake versions again. It also changes our CI to have two builds with Ubuntu 18.04 and two builds with Ubuntu 20.04 to better cover different versions of build tools (including CMake 3.10).
2021-08-04Update bug_report.mdAina Niemetz
2021-06-30Use authored date instead of commit date. (#6815)Gereon Kremer
This commit fixes a subtle issue with pruning the old docs from docs-ci. We remove docs that are older than one week. However, we used the commit date instead of the authored date. Since we actually squash the old commits (that are older than four weeks) regularly, the commit date is always newer.
2021-06-19[CI] Build with all available cores (#6768)Andres Noetzli
macOS virtual machines have three available cores but we were only using two of them for our CI. This commit changes the CI to retrieve the number of available cores and then to use that to number to build and test cvc5.
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.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback