Raw
1 #!/bin/sh
2 #
3 # Build and test Git
4 #
5
6 . ${0%/*}/lib.sh
7
8 export TEST_CONTRIB_TOO=yes
9
10 case "$jobname" in
11 linux-musl-meson)
12 MESONFLAGS="$MESONFLAGS -Drust=disabled"
13 export GIT_TEST_USE_SET_E=yes
14 ;;
15 almalinux-*|debian-*|fedora-*|linux-*)
16 export GIT_TEST_USE_SET_E=yes
17 ;;
18 esac
19
20 case "$jobname" in
21 fedora-breaking-changes-musl|linux-breaking-changes)
22 export WITH_BREAKING_CHANGES=YesPlease
23 MESONFLAGS="$MESONFLAGS -Dbreaking_changes=true"
24 ;;
25 linux-TEST-vars)
26 export OPENSSL_SHA1_UNSAFE=YesPlease
27 export GIT_TEST_SPLIT_INDEX=yes
28 export GIT_TEST_FULL_IN_PACK_ARRAY=true
29 export GIT_TEST_OE_SIZE=10
30 export GIT_TEST_OE_DELTA_SIZE=5
31 export GIT_TEST_COMMIT_GRAPH=1
32 export GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1
33 export GIT_TEST_MULTI_PACK_INDEX=1
34 export GIT_TEST_MULTI_PACK_INDEX_WRITE_INCREMENTAL=1
35 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
36 export GIT_TEST_NO_WRITE_REV_INDEX=1
37 export GIT_TEST_CHECKOUT_WORKERS=2
38 export GIT_TEST_PACK_USE_BITMAP_BOUNDARY_TRAVERSAL=1
39 ;;
40 linux-clang)
41 export NO_RUST=UnfortunatelyYes
42 export GIT_TEST_DEFAULT_HASH=sha1
43 ;;
44 linux-sha256)
45 export GIT_TEST_DEFAULT_HASH=sha256
46 ;;
47 linux-reftable|linux-reftable-leaks|osx-reftable)
48 export GIT_TEST_DEFAULT_REF_FORMAT=reftable
49 ;;
50
51 esac
52
53 case "$jobname" in
54 *-meson)
55 group "Configure" meson setup build . \
56 --fatal-meson-warnings \
57 --warnlevel 2 --werror \
58 --wrap-mode nofallback \
59 -Dfuzzers=true \
60 -Dtest_output_directory="${TEST_OUTPUT_DIRECTORY:-$(pwd)/t}" \
61 $MESONFLAGS
62 group "Build" meson compile -C build --
63 group "Run tests" meson test -C build --print-errorlogs --test-args="$GIT_TEST_OPTS" || (
64 ./t/aggregate-results.sh "${TEST_OUTPUT_DIRECTORY:-t}/test-results"
65 handle_failed_tests
66 )
67 ;;
68 *)
69 group Build make
70 group "Run tests" make test ||
71 handle_failed_tests
72 ;;
73 esac
74
75 check_unignored_build_artifacts
76 save_good_tree