threads / patch / 40899

v8Add Travis CI support

Subject: [PATCH v8] Add Travis CI support

## tl;dr

7 messages between Nov 27, 2015 and Dec 2, 2015. Diffs are folded; open one to read it.

replies: 6people: 3as markdown or json

larsxschneider@gmail.com· Nov 27, 2015, 09:23 UTC · lore
From: Lars Schneider <larsxschneider@gmail.com>
diff to v7:
* remove NO_GETTEXT patch and install gettext on OS X to compile with
  no additional flags (thanks Torsten)
* fix P4 version (15.2 is the latest one available)

Thanks, Lars

Lars Schneider (1):
  Add Travis CI support
 .travis.yml | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)
 create mode 100644 .travis.yml

-- 2.5.1

larsxschneider@gmail.com· Nov 27, 2015, 09:23 UTC · re: larsxschneider@gmail.com · lore
From: Lars Schneider <larsxschneider@gmail.com>

The tests are currently executed on "Ubuntu 12.04 LTS Server Edition 64 bit" and on "OS X Mavericks" using gcc and clang.

Perforce and Git-LFS are installed and therefore available for the respective tests.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
---
 .travis.yml | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)
 create mode 100644 .travis.yml
Show changes to .travis.yml +91 −0
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..c3bf9c6
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,91 @@
+language: c
+
+os:
+  - linux
+  - osx
+
+compiler:
+  - clang
+  - gcc
+
+addons:
+  apt:
+    packages:
+    - language-pack-is
+
+env:
+  global:
+    - P4_VERSION="15.2"
+    - GIT_LFS_VERSION="1.1.0"
+    - DEFAULT_TEST_TARGET=prove
+    - GIT_PROVE_OPTS="--timer --jobs 3"
+    - GIT_TEST_OPTS="--verbose --tee"
+    - CFLAGS="-g -O2 -Wall -Werror"
+    - GIT_TEST_CLONE_2GB=YesPlease
+    # t9810 occasionally fails on Travis CI OS X
+    # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
+    - GIT_SKIP_TESTS="t9810 t9816"
+
+before_install:
+  - >
+    case "${TRAVIS_OS_NAME:-linux}" in
+    linux)
+      mkdir --parents custom/p4
+      pushd custom/p4
+        wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d
+        wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4
+        chmod u+x p4d
+        chmod u+x p4
+        export PATH="$(pwd):$PATH"
+      popd
+      mkdir --parents custom/git-lfs
+      pushd custom/git-lfs
+        wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz
+        tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz"
+        cp git-lfs-$GIT_LFS_VERSION/git-lfs .
+        export PATH="$(pwd):$PATH"
+      popd
+      ;;
+    osx)
+      brew_force_set_latest_binary_hash () {
+        FORMULA=$1
+        SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2)
+        sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \
+          /usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb
+      }
+      brew update --quiet
+      brew tap homebrew/binary --quiet
+      brew_force_set_latest_binary_hash perforce
+      brew_force_set_latest_binary_hash perforce-server
+      brew install git-lfs perforce-server perforce gettext
+      brew link --force gettext
+      ;;
+    esac;
+    echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
+    p4d -V | grep Rev.;
+    echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
+    p4 -V | grep Rev.;
+    echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
+    git-lfs version;
+
+before_script: make --jobs=2
+
+script: make --quiet test
+
+after_failure:
+  - >
+    : '<-- Click here to see detailed test output!                                                        ';
+    for TEST_EXIT in t/test-results/*.exit;
+    do
+      if [ "$(cat "$TEST_EXIT")" != "0" ];
+      then
+        TEST_OUT="${TEST_EXIT%exit}out";
+        echo "------------------------------------------------------------------------";
+        echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
+        echo "------------------------------------------------------------------------";
+        cat "${TEST_OUT}";
+      fi;
+    done;
+
+notifications:
+  email: false
-- 
2.5.1
Jeff King· Nov 28, 2015, 17:12 UTC · re: larsxschneider@gmail.com · lore

Re: [PATCH v8] Add Travis CI support

On Fri, Nov 27, 2015 at 10:23:26AM +0100, larsxschneider@gmail.com wrote:
Show 6 quoted lines
> From: Lars Schneider <larsxschneider@gmail.com>
> 
> diff to v7:
> * remove NO_GETTEXT patch and install gettext on OS X to compile with
>   no additional flags (thanks Torsten)
> * fix P4 version (15.2 is the latest one available)

Thanks. I don't have any other comments on this one. I guess the next step is for me to get git/git signed up for Travis, and then merging this to 'master' will have the desired effect.

-Peff
Stefan Beller· Nov 30, 2015, 19:04 UTC · re: Jeff King · lore

Re: [PATCH v8] Add Travis CI support

On Sat, Nov 28, 2015 at 9:12 AM, Jeff King <peff@peff.net> wrote:
Show 12 quoted lines
> On Fri, Nov 27, 2015 at 10:23:26AM +0100, larsxschneider@gmail.com wrote:
>
>> From: Lars Schneider <larsxschneider@gmail.com>
>>
>> diff to v7:
>> * remove NO_GETTEXT patch and install gettext on OS X to compile with
>>   no additional flags (thanks Torsten)
>> * fix P4 version (15.2 is the latest one available)
>
> Thanks. I don't have any other comments on this one. I guess the next
> step is for me to get git/git signed up for Travis, and then merging
> this to 'master' will have the desired effect.

I think you can merge it even before signing up for travis. Then it would be in the repository and any fork (say github.com/stefanbeller/git) could enable it for themselves even faster that you could for the main repository :)

Show 6 quoted lines
>
> -Peff
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lars Schneider· Dec 1, 2015, 08:43 UTC · re: Jeff King · lore

Re: [PATCH v8] Add Travis CI support

On 28 Nov 2015, at 18:12, Jeff King <peff@peff.net> wrote:
Show 12 quoted lines
> On Fri, Nov 27, 2015 at 10:23:26AM +0100, larsxschneider@gmail.com wrote:
> 
>> From: Lars Schneider <larsxschneider@gmail.com>
>> 
>> diff to v7:
>> * remove NO_GETTEXT patch and install gettext on OS X to compile with
>>  no additional flags (thanks Torsten)
>> * fix P4 version (15.2 is the latest one available)
> 
> Thanks. I don't have any other comments on this one. I guess the next
> step is for me to get git/git signed up for Travis, and then merging
> this to 'master' will have the desired effect.
Thanks! You're right, signing up git/git for Travis should do it. Right now it is configured to build all branches on git/git that contain a travis.yml. That means if you merge it to pu or next then we should see builds already.

Cheers, Lars

Jeff King· Dec 2, 2015, 00:45 UTC · re: Lars Schneider · lore

Re: [PATCH v8] Add Travis CI support

On Tue, Dec 01, 2015 at 09:43:45AM +0100, Lars Schneider wrote:
Show 8 quoted lines
> > Thanks. I don't have any other comments on this one. I guess the next
> > step is for me to get git/git signed up for Travis, and then merging
> > this to 'master' will have the desired effect.
> 
> Thanks! You're right, signing up git/git for Travis should do it.
> Right now it is configured to build all branches on git/git that
> contain a travis.yml. That means if you merge it to pu or next then we
> should see builds already.

I merged to 'pu', and signed up peff/git, and got a build. Incidentally, something in pu causes a bunch of tests to fail on OS X (but not Linux). :)

-Peff
Stefan Beller· Dec 2, 2015, 00:56 UTC · re: Jeff King · lore

Re: [PATCH v8] Add Travis CI support

On Tue, Dec 1, 2015 at 4:45 PM, Jeff King <peff@peff.net> wrote:
Show 15 quoted lines
> On Tue, Dec 01, 2015 at 09:43:45AM +0100, Lars Schneider wrote:
>
>> > Thanks. I don't have any other comments on this one. I guess the next
>> > step is for me to get git/git signed up for Travis, and then merging
>> > this to 'master' will have the desired effect.
>>
>> Thanks! You're right, signing up git/git for Travis should do it.
>> Right now it is configured to build all branches on git/git that
>> contain a travis.yml. That means if you merge it to pu or next then we
>> should see builds already.
>
> I merged to 'pu', and signed up peff/git, and got a build. Incidentally,
> something in pu causes a bunch of tests to fail on OS X (but not Linux).
> :)
>
:)

As I currently maintain a the regular coverity scan and just remembered that it integrates with travis[1], we may want to look into that further, too.

[1] https://scan.coverity.com/travis_ci
Show 5 quoted lines
> -Peff
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

← back to recent threads