packaging: Enable LTO and set visibility to hidden
[platform/upstream/btrfs-progs.git] / .travis.yml
1 #
2 # Copyright (C) 2016 Roman Lebedev.
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public
6 # License v2 as published by the Free Software Foundation.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public
14 # License along with this program; if not, write to the
15 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 # Boston, MA 021110-1307, USA.
17 #
18
19 sudo: required
20
21 language: c
22 compiler:
23   - gcc
24   - clang
25
26 cache:
27   ccache: true
28   directories:
29     - tmp-cached-reiser
30     - tmp-cached-zstd
31
32 git:
33   depth: 1
34
35 dist: trusty
36 group: unstable
37
38 branches:
39   only:
40   - devel
41   - coverity_scan
42   - master
43   - release-test
44
45 services:
46   - docker
47
48 env:
49   global:
50    # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
51    #   via the "travis encrypt" command using the project repo's public key
52    - secure: "aOqVfsh0m0iR3ggfuqhri4RHZK1LkQPDfNvPPQLN6VwJnz9QrI7TvLovTM1JwfX+nkyNhRq33+OahQb7PEHWPctFo6o42CcN837syF2fg8ZhTmcU1abJL29GUN/bH3xZXJJoUNJUW79Bp098GEcEmypxJ29Fxs5FQKT57O2FnnJXQLZhsDvSC1tuHtHEnCU1EGmZ6g4QI+eaS3zxKr343WCwRX6xolKHaLZX/UsYMbIMJ1YBaK2zCyOpaXOflQbloI1gcrUcoalIFuwPVbYnu2oXqzsuzHV0ekN+zMAECDNYrTr/OEA0bLR57WC0krLiAr+tA6Rq5E1D6JHg3WxDE7tbuFmrhxW23S9x6xw4+L5KuwNdsIZEdybn4q6zCkkHH3PgOFRF8taxxHKsfJ9fWxZM/kvQa5CNClDrZmfso9U8yWrYgL6fi3fIcuVLE29N2K0v9LkWlsK0REn5/uiEKO5rJ25ytpzCoUg9IRRgMPJaoPtZhSrK+ywZlJqg3f5eRqA7W1A4AEK5cOmWGFW2MOGmTtzhHG/xY0yaPYxgB7u2b7ji8BQdOn3p0ttmBFBxbDChb3LUH+d21iORrYVTG3IDziQTdBLCn/ZUypcLlLXLkkgZMQ9kLhArRmuqlTqPoR2+GNVjRP/uxwZXcszvEb0TATI11rieJW6TN1inWgY="
53
54 before_install:
55   - sudo apt-get update -qq
56   - sudo apt-get install -qq e2fslibs-dev gcc libacl1-dev libblkid-dev liblzo2-dev make pkg-config udev zlib1g-dev acl attr reiserfsprogs python3-setuptools
57   - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
58   - docker pull kdave/ci-musl-x86_64
59   - travis/build-dep-reiserfs
60   - travis/build-dep-zstd
61   - travis/build-default --disable-documentation
62
63 addons:
64   coverity_scan:
65     project:
66       name: "kdave/btrfs-progs"
67       description: "btrfs-progs"
68     notification_email: dsterba@suse.cz
69     build_command_prepend: "./autogen.sh && ./configure --disable-documentation"
70     build_command: "make"
71     branch_pattern: coverity_scan
72
73 script:
74   # quick build tests
75   - "if travis/should-run-test; then docker run -it --env CC=$CC kdave/ci-musl-x86_64 ./test-build $TRAVIS_BRANCH --disable-documentation --disable-backtrace; fi"
76   # real tests
77   - "if travis/should-run-test; then make TEST_LOG=dump test-cli; fi"
78   - "if travis/should-run-test; then make TEST_LOG=dump test-mkfs; fi"
79   - "if travis/should-run-test; then make TEST_LOG=dump test-check; fi"
80   - "if travis/should-run-test; then make TEST_LOG=dump TEST_ENABLE_OVERRIDE=true TEST_ARGS_CHECK=--mode=lowmem test-check; fi"
81   - "if travis/should-run-test; then make TEST_LOG=dump test-misc; fi"
82   # long running tests
83   - "if [ $TRAVIS_BRANCH = release-test ]; then make TEST_LOG=dump test-convert; fi"