The sixth batch
[git/gitster.git] / ci / run-build-and-tests.sh
blob76667a1277720d74e09e8da227b5e0832003e0e2
1 #!/bin/sh
3 # Build and test Git
6 . ${0%/*}/lib.sh
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
13 run_tests=t
15 case "$jobname" in
16 linux-gcc)
17 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
19 linux-TEST-vars)
20 export OPENSSL_SHA1_UNSAFE=YesPlease
21 export GIT_TEST_SPLIT_INDEX=yes
22 export GIT_TEST_MERGE_ALGORITHM=recursive
23 export GIT_TEST_FULL_IN_PACK_ARRAY=true
24 export GIT_TEST_OE_SIZE=10
25 export GIT_TEST_OE_DELTA_SIZE=5
26 export GIT_TEST_COMMIT_GRAPH=1
27 export GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1
28 export GIT_TEST_MULTI_PACK_INDEX=1
29 export GIT_TEST_MULTI_PACK_INDEX_WRITE_INCREMENTAL=1
30 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
31 export GIT_TEST_NO_WRITE_REV_INDEX=1
32 export GIT_TEST_CHECKOUT_WORKERS=2
33 export GIT_TEST_PACK_USE_BITMAP_BOUNDARY_TRAVERSAL=1
35 linux-clang)
36 export GIT_TEST_DEFAULT_HASH=sha1
38 linux-sha256)
39 export GIT_TEST_DEFAULT_HASH=sha256
41 linux-reftable|linux-reftable-leaks|osx-reftable)
42 export GIT_TEST_DEFAULT_REF_FORMAT=reftable
44 pedantic)
45 # Don't run the tests; we only care about whether Git can be
46 # built.
47 export DEVOPTS=pedantic
48 run_tests=
50 esac
52 case "$jobname" in
53 *-meson)
54 group "Configure" meson setup build . \
55 --warnlevel 2 --werror \
56 --wrap-mode nofallback
57 group "Build" meson compile -C build --
58 if test -n "$run_tests"
59 then
60 group "Run tests" meson test -C build --print-errorlogs --test-args="$GIT_TEST_OPTS" || (
61 ./t/aggregate-results.sh "${TEST_OUTPUT_DIRECTORY:-t}/test-results"
62 handle_failed_tests
67 group Build make
68 if test -n "$run_tests"
69 then
70 group "Run tests" make test ||
71 handle_failed_tests
74 esac
76 check_unignored_build_artifacts
77 save_good_tree