Commit Graph

35 Commits (ac2a9dd188f0738a87018f5ee6e6b0b301bb1b63)

Author SHA1 Message Date
David Allsopp ac2a9dd188 Cease committing C dependendency information
When building for the first time, the only requirement is that generated
header files have been built (jumptbl.h, version.h and opnames.h).
Detailed dependency information is only required when headers have been
edited.

COMPUTE_DEPS in Makefile.config controls whether C dependency
information should be generated on a per-file basis. This variable is
controlled by a new --disable-dependency-generation in configure which
is enabled for Git checkouts and disabled for tarballs (i.e. releases).

The Microsoft C compiler (cl) cannot generate dependencies in a
consistent way which we can consume, so for a Git checkout configure
searches for an additional C compiler in order to compute dependencies.
This is obviously not required for a user-build.

As a result, the MSVC port can now safely run make alldepend, since only
OCaml dependency information is committed to the repo after this change.

CI does not need to waste time testing the dependency information,
because it only tests a single build. A single Travis job has been added
which tests the build system code to generate the dependency information
(and provides a single `make -j` run in CI, although Inria's CI also
tests parallel building continuously).
2020-04-17 14:11:22 +01:00
David Allsopp c6048eb406 Switch Travis testing from Xenial to Bionic 2020-04-23 15:58:36 +01:00
David Allsopp 8a36b7ab30 Test distclean in CI
Ensure that distclean works in an unconfigured tree. At the end of the
build, ensure that no tracked files have been altered or untracked files
created and ensure that distclean removes all ignored files.
2020-04-20 11:07:28 +01:00
David Allsopp 91913bc505 autogen -> make configure 2018-12-04 10:29:02 +00:00
David Allsopp fd6c0e3a03 Don't built ocamltest on release builds
--enable-ocamltest is paranoidly included in the CI scripts, although
the trees are never pushed with a release VERSION at the tip.
2020-02-13 16:53:07 +00:00
Florian Angeletti 5302b09764
ci: check the prefixing policy for runtime symbols (#9260)
* ci: check runtime symbol policy on travis and Appveyor
* tune check-symbol-names:
** ignore all local symbol
** ignore Caml_ prefix
** ignore x86: pic-related symbols
** windows: ignore debugging, unicode and wmain symbols
2020-01-29 15:30:15 +01:00
David Allsopp 91c3ca831c Test all ocamldoc generators in the CI
Build all the formats of the standard library documentation.
2019-07-27 23:11:59 +01:00
David Allsopp 32df16fd7f Test non-shared platform and minimal build 2019-07-18 20:27:39 +01:00
Florian Angeletti 9102f6a2f7 manual: test case-insensitive collisions 2019-07-05 09:34:02 +02:00
zapashcanon 6375461686 Improve shell scripts (#1690) 2019-06-19 16:15:02 +02:00
David Allsopp 6f63c55f18 Fix error message displayed on Travis push 2019-04-30 08:57:56 +01:00
David Allsopp 3bb1886b65 Check all necessary paths for configure 2019-04-30 08:52:27 +01:00
David Allsopp 7156b9cd15 Verify that configure.ac generates configure 2019-04-02 16:35:36 +01:00
David Allsopp ff26bf7a72 Ensure awk supports interval expressions
Travis already added the required option for old versions of GNU awk,
but this was still a problem on current Ubuntu systems if gawk is not
installed - mawk (the default) does not support them.
2019-03-27 10:17:41 +00:00
Sébastien Hinderer cc3f70b705 Use autoconf to generate the compiler's configuration script 2018-12-21 16:02:47 +01:00
David Allsopp 1b5278a829 Update travis-ci.sh to cope with typo.prune 2018-12-20 11:46:34 +01:00
Gabriel Scherer 41c6f50ec8 shebangs: use `/usr/bin/env bash` instead of `/bin/bash` for BSD compat
Currently our CI machine on FreeBSD fails to build with the following
error message:

```
bytecomp/generate_runtimedef.sh runtime/caml/fail.h runtime/primitives > bytecomp/runtimedef.ml
/bin/sh: bytecomp/generate_runtimedef.sh: not found
```

This PR converts all the files with a `/bin/bash` shebang to
`/usr/bin/env bash`. Some files use `/bin/sh` instead, and they are
unchanged. It may be the case that some 'bash' files could in fact run
using 'sh', but checking this requires more work and I decided to
follow the original author's intent.

(Personally I like using bash explicitly as it gives a consistent
programming environment that I can easily test on my machine; but this
should not be at the expense of portability.)
2018-10-16 09:06:16 +02:00
David Allsopp e41dec72e4 Finally use the correct commit range for check-typo 2018-07-11 20:00:57 +01:00
David Allsopp 0c9c50b134 Restore check-typo... 2018-07-11 19:38:14 +01:00
David Allsopp 60481d0d4b (Hopefully) restore Travis trunk tests 2018-07-11 19:34:48 +01:00
David Allsopp 30763b5754 Correct commit deepening test on Travis. 2018-07-11 15:23:37 +01:00
David Allsopp 1931276ab7 Work-around stale TRAVIS_COMMIT variable
There seem to be occasions when rebuilding PRs where the TRAVIS_COMMIT
variable (which should be the SHA of the merge commit) is out-of-date.
When this happens, and the commit referred to does not exist, update
TRAVIS_COMMIT to be FETCH_HEAD as retrieved from GitHub instead.
2018-07-11 11:42:38 +01:00
David Allsopp 0c5719347d Deepen the Git clone on Travis for old PRs
If a PR is based on an older commit, the Travis default clone of 50
commits for the target branch may not be sufficient to compute the
merge-base.
2018-07-11 11:20:50 +01:00
David Allsopp 968a41f6fb More debugging info in Travis 2018-07-11 10:34:36 +01:00
David Allsopp 8ac6fab4a8 Tweak Travis script invocation
Display TRAVIS_COMMIT information and move the set -x into the script
(after the echoing of status variables).
2018-07-04 09:54:04 +01:00
David Allsopp 9b44db6997 Wrong range used for Travis check-typo test
Travis was incorrectly reading the files to run through check-typo from
just the tip commit of the PR branch, instead of the entire commit
range (wrong parameter number).
2018-07-03 13:07:06 +01:00
David Allsopp 0250de3cce Simplify f395dfc
No need for a third parameter - all the reads should take place from the
merge commit on a PR.
2018-07-03 13:07:06 +01:00
David Allsopp f395dfc96b Run check-typo over merge commit
When checking an entire branch, check-typo was reading files from the
tip of the pull request branch, which is only correct if the branch is
based on trunk - it should read from the merge commit instead.

This affects branches based on older trunk before check-typo compliance
was enforced, since it can cause now-corrected check-typo violations to
re-appear.
2018-07-02 11:32:49 +02:00
David Allsopp 38caf1cc97 Prefix calls to check-typo with ./
This ensures that check-typo's default rules are picked up!
2018-06-30 17:41:48 +01:00
David Allsopp 3f8c68b9d4 Allow for ocaml-typo=prune 2018-06-30 16:54:47 +01:00
David Allsopp 5af8d6d946 Don't test deleted files 2018-06-30 16:46:59 +01:00
David Allsopp c48645626a Don't check individual GPR commits 2018-06-30 16:43:34 +01:00
David Allsopp 7e2331da1e Travis sanity checks should use PR commits
TRAVIS_COMMIT_RANGE is not correct unless a PR is based on the tip of
the target branch - it will include commits being merged from the target
branch as well.

The check-typo, changes and tests builds now use
$TRAVIS_BRANCH..$TRAVIS_PULL_REQUEST_SHA which gives the precise range
of commits included in the pull request (i.e. the author's) only.
2018-06-30 16:43:34 +01:00
David Allsopp 54402920b7 Run tools/check-typo in Travis CI 2018-06-30 16:43:34 +01:00
Sébastien Hinderer 8ab50ec1e3 Move the CI-related scripts to dedicated directories 2018-05-24 09:18:56 +02:00