Merge branch 'mt/add-rm-in-sparse-checkout'
[git] / ci / run-build-and-tests.sh
1 #!/bin/sh
2 #
3 # Build and test Git
4 #
5
6 . ${0%/*}/lib.sh
7
8 case "$CI_OS_NAME" in
9 windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
10 *) ln -s "$cache_dir/.prove" t/.prove;;
11 esac
12
13 make
14 case "$jobname" in
15 linux-gcc)
16         export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
17         make test
18         export GIT_TEST_SPLIT_INDEX=yes
19         export GIT_TEST_MERGE_ALGORITHM=recursive
20         export GIT_TEST_FULL_IN_PACK_ARRAY=true
21         export GIT_TEST_OE_SIZE=10
22         export GIT_TEST_OE_DELTA_SIZE=5
23         export GIT_TEST_COMMIT_GRAPH=1
24         export GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1
25         export GIT_TEST_MULTI_PACK_INDEX=1
26         export GIT_TEST_ADD_I_USE_BUILTIN=1
27         export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
28         export GIT_TEST_WRITE_REV_INDEX=1
29         make test
30         ;;
31 linux-clang)
32         export GIT_TEST_DEFAULT_HASH=sha1
33         make test
34         export GIT_TEST_DEFAULT_HASH=sha256
35         make test
36         ;;
37 linux-gcc-4.8)
38         # Don't run the tests; we only care about whether Git can be
39         # built with GCC 4.8, as it errors out on some undesired (C99)
40         # constructs that newer compilers seem to quietly accept.
41         ;;
42 *)
43         make test
44         ;;
45 esac
46
47 check_unignored_build_artifacts
48
49 save_good_tree