aboutsummaryrefslogtreecommitdiff
path: root/dev/ci/ci-common.sh
AgeCommit message (Collapse)Author
2021-03-30CI: don't output-syncGaëtan Gilbert
Not much benefit and it breaks make's print-directory system.
2021-03-14[ci] [gitlab] Remove ad-hoc mathcomp install macrosEmilio Jesus Gallego Arias
They should not be necessary today as they date from the shareable pre-artifact epoch, an incur in an slowdown.
2020-12-16Fix overlay system: projects need to be loaded before overlays.Gaëtan Gilbert
Also fixes is_in_projects
2020-12-10[ci] simplify overlay scriptsEnrico Tassi
2020-12-09[ci] function to declare projectsEnrico Tassi
incidentally the "projects" array can be queried to get the list of projects
2020-11-24[ci] variable CI_INSTALL_DIR to use with --prefixEnrico Tassi
2020-10-23Fix overlay merge commandGaëtan Gilbert
Git wants an identity and none is setup on the CI.
2020-10-12Automatically merge overlays with most recent upstream versionGaëtan Gilbert
This avoids the need to rebase the overlay when nothing has changed.
2020-10-12Lowercase variables in git_downloadGaëtan Gilbert
2020-09-21Make print-pretty-timed robust against non-output-sync logsJason Gross
Also pass `--output-sync` on the CI, as suggested in https://github.com/coq/coq/pull/12653#issuecomment-696226093, to protect against this failure mode. Fixes #13062
2020-07-10Minor improvement to CI logsGaëtan Gilbert
- don't `set -x` while loading overlays, non-verbose untaring - ls _build_ci to help figure out artifact download issues
2020-03-09Do not erase OCAMLPATH in CI targets with Dune-built CoqMaxime Dénès
2019-04-04[CI] Fix build of math-comp dependenciesMaxime Dénès
We were incorrectly calling the global `install` target even when building only subcomponents of the library.
2019-02-18[ci] Resolve commit corresponding to branch when downloading tarball.Théo Zimmermann
This ensures that the log will contain the commit hash that we tested. This reuses the method from the Windows build script (we have a number of common functions, it would be interesting to start a bash shared library file).
2018-11-17[devtools] Small script to setup overlays automaticallyEmilio Jesus Gallego Arias
This is very preliminary but you should get the idea. The script tries to build contribs, then creates a branch and sets the remote properly as to submit a PR. Usage example: ``` ./dev/tools/create_overlays.sh ejgallego 9999 ltac2 elpi ``` This only works for contributions hosted in github for now.
2018-10-02[ci] [travis] Remove CI contrib testing from Travis.Emilio Jesus Gallego Arias
This was kept as a fallback for some time, not worth keeping it anymore as our GitLab setup seems mature and reliable enough.
2018-09-27[ci] Allow `make ci-$contrib` when we have a build under Dune.Emilio Jesus Gallego Arias
This should allow people to test CI contribs under Dune. It should be good for now but it is still a work in progress.
2018-09-01Source basic overlay after user overlays to fix #8375 following #8348.Théo Zimmermann
2018-09-01Merge PR #8348: Download tarball instead of cloning external projects.Emilio Jesus Gallego Arias
2018-08-31Download tarball instead of cloning external projects (when $CI is set).Théo Zimmermann
This allows to use fixed commits and not just branches or tags. We keep using git clone when $FORCE_GIT is set (for projects on gforge.inria.fr and projects pulling dependencies through git submodules). fiat-parsers also calls git submodule, but inside its own Makefile.
2018-08-28Clean-up Travis folds.Théo Zimmermann
This has become mostly garbage since GitLab CI became our main CI platform.
2018-07-27[ci] Remove CircleCI setup.Emilio Jesus Gallego Arias
GitLab setup is quite stable these days thanks to the work of many people and `coqbot`. We decided to keep CircleCI support for a while as a safeguard in case something happened in the migration to GitLab, but these days we are just wasting resources to them and to us. As I'm afraid CircleCI won't scale for us, the time to remove it has arrived. Still, CircleCI had some awesome functionality that GitLab's CI doesn't offer yet, see the links at: https://github.com/coq/coq/issues/6919#issuecomment-395885573 - https://gitlab.com/gitlab-org/gitlab-ce/issues/29347 - https://gitlab.com/gitlab-org/gitlab-ce/issues/35222 - https://gitlab.com/gitlab-org/gitlab-ce/issues/41947 - https://gitlab.com/gitlab-org/gitlab-ce/issues/47063
2018-07-04[ci] Avoid annoying detached head warning.Emilio Jesus Gallego Arias
2018-06-11[ci] GeoCoq now depends on math-comp's ssralg.Emilio Jesus Gallego Arias
2018-06-02[ci] Expose updated `OCAMLPATH` for CI users.Emilio Jesus Gallego Arias
This is needed for CI packages that use `META.coq` such as in https://github.com/coq/coq/pull/7656 .
2018-05-16Merge PR #7514: [ci] Don't build lite versions of CI developments.Gaëtan Gilbert
2018-05-16[ci] Don't build lite versions of CI developments.Emilio Jesus Gallego Arias
In the original Travis CI setup, the per-job time limit was an issue. However, Gitlab has much improved this problem due to a) Coq not being built for each contrib, b) user-configurable time limit. We thus disable the expensive builds from Travis: `fiat-crypto`, `formal-topology`, `geocoq`, `iris-lambda-rust`, `math-comp`, `unimath`, `vst` and instruct Gitlab to build [`geocoq`, `math-comp`, `unimath`, `vst`] in full. We also update the `math-comp` script as the `odd-order` theorem lives in a separate repository and it is a key CI case.
2018-05-14Pick up user overlays when running GitLab CI on PRs.Théo Zimmermann
2018-04-05Improve shell scriptszapashcanon
2018-02-07ci-common: guess CI_BRANCH for local buildsGaëtan Gilbert
2018-01-30Put default value for NJOBS in ci-common.Gaëtan Gilbert
2018-01-16Source basic overlay before user overlays.Gaëtan Gilbert
2018-01-16Cleanup shell expansions and quoting.Gaëtan Gilbert
2017-12-26Fix overlay selection for Circle CI.Gaëtan Gilbert
2017-12-21Fix CI with parallel make (messed up dependencies)Gaëtan Gilbert
When invoking through Makefile we always rebuild dependencies. To skip dependencies, invoke ci-wrapper directly. We make Circle CI do this. In order to properly support invoking ci-wrapper directly we replace "make" in ci-common by a bash function which adds -j to the make invocation outside submakes. We also set TIMED in the ci-wrapper.
2017-09-20In gitlab set TRAVIS_BRANCH so user overlays will work as expected.Gaëtan Gilbert
2017-09-13Fix GitLab CIGaëtan Gilbert
- timing needs time and python - check for compiled files without source looks in the install directory (except for make -f Makefile.ci which doesn't check), as such the install directory has been renamed to _install_ci and isn't searched.
2017-07-04Merge branch 'v8.6'Pierre-Marie Pédrot
2017-06-16Remove -j ${NJOBS} from make invocations in the ciJason Gross
According to https://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#Options_002fRecursion it's not necessary, because we pass `-j ${NJOBS}` to the top-level `make` invocation in `.travis.yml`. Additionally, explicitly passing `-j` in, e.g., fiat-crypto, results in error messages such as ``` make[2]: *** write jobserver: Bad file descriptor. Stop. make[2]: *** Waiting for unfinished jobs.... make[2]: *** write jobserver: Bad file descriptor. Stop. make[1]: *** [coqprime] Error 2 make[1]: INTERNAL: Exiting with 1 jobserver tokens available; should be 2! make[1]: Leaving directory `/home/travis/build/JasonGross/coq/_build_ci/fiat-c ``` because the `-j` on the `make` in the `ci-fiat-crypto.sh` script disables jobserver mode, and the submake in fiat-crypto to make coqprime does not explicitly pass `-j`, and so reenables jobserver mode, and then `make` gets very confused. Commit made with ```bash cd dev/ci git grep --name-only -- 'make -j ${NJOBS}' | xargs sed s'/make -j \${NJOBS}/make/g' -i git grep --name-only -- 'make -f Makefile.coq -j ${NJOBS}' | xargs sed s'/make -f Makefile.coq -j \${NJOBS}/make -f Makefile.coq/g' -i ```
2017-06-16Each user overlay goes into its own file.Théo Zimmermann
This will avoid stupid merge conflicts in the future.
2017-05-28Gitlab CIGaëtan Gilbert
2017-03-24[travis] Backport from trunk: VSTEmilio Jesus Gallego Arias
2017-03-22[travis] Fix iris-coq build.Emilio Jesus Gallego Arias
We need to do a bit of hacking, but it should be fine for the short term. c.f. https://gitlab.mpi-sws.org/FP/iris-coq/issues/83
2017-03-22[travis] [8.6.only] Backport latest changes from trunk.Emilio Jesus Gallego Arias
2017-03-13[travis] Basic support for overlays.Emilio Jesus Gallego Arias
We now allow the user to overlay contribution repositories and branches by adding their own rules to `ci-basic-overlay.sh`. This just provides very basic support.
2017-03-10[travis] Make the git_checkout function more reliable.Théo Zimmermann
This commit also documents the behavior of said function; and fix the location of the ssreflect clone to an absolute path (this is now necessary).
2017-03-10[travis] Change headband for wider compatibility.Théo Zimmermann
2017-03-10Improve build of travis target on local machine.Théo Zimmermann
- Move the git clones to a specific subfolder to avoid pollution. - Do not fail when git clone already exist (but make sure it is up-to-date).
2017-03-02[travis] Backport trunk's travis support.Emilio Jesus Gallego Arias
2017-02-15[travis] [External CI] CompCert official 8.6 support + UniMathEmilio Jesus Gallego Arias