Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Documentation guides for the next crop of supported languages

  • Loading branch information...
commit 453864a9eabe369ef43cec9d9a3e37a9e08e1b0e 1 parent 93812c8
Michael Klishin authored
3  _layouts/en.html
@@ -55,8 +55,11 @@ <h1 class="riddle"><a href="/" title="Travis">Travis CI</a></h1>
55 55
             </ul>
56 56
             <h2>Language-specific Guides</h2>
57 57
             <ul>
  58
+              <li><a href="/docs/user/languages/c/">C</a></li>
  59
+              <li><a href="/docs/user/languages/cpp/">C++</a></li>
58 60
               <li><a href="/docs/user/languages/clojure/">Clojure</a></li>
59 61
               <li><a href="/docs/user/languages/erlang/">Erlang</a></li>
  62
+              <li><a href="/docs/user/languages/go/">Go</a></li>
60 63
               <li><a href="/docs/user/languages/groovy/">Groovy</a></li>
61 64
               <li><a href="/docs/user/languages/haskell/">Haskell</a></li>
62 65
               <li><a href="/docs/user/languages/java/">Java</a></li>
3  _layouts/es.html
@@ -55,8 +55,11 @@ <h1 class="riddle"><a href="/" title="Travis">Travis CI</a></h1>
55 55
             </ul>
56 56
             <h2>Guías para lenguajes específicos</h2>
57 57
             <ul>
  58
+              <li><a href="/docs/user/languages/c/">C</a></li>
  59
+              <li><a href="/docs/user/languages/cpp/">C++</a></li>
58 60
               <li><a href="/docs/user/languages/clojure/">Clojure</a></li>
59 61
               <li><a href="/docs/user/languages/erlang/">Erlang</a></li>
  62
+              <li><a href="/docs/user/languages/go/">Go</a></li>
60 63
               <li><a href="/docs/user/languages/groovy/">Groovy</a></li>
61 64
               <li><a href="/docs/user/languages/haskell/">Haskell</a></li>
62 65
               <li><a href="/docs/user/languages/java/">Java</a></li>
3  _layouts/fr.html
@@ -73,8 +73,11 @@ <h1 class="riddle"><a href="/" title="Travis">Travis CI</a></h1>
73 73
             </ul>
74 74
             <h2>Langages</h2>
75 75
             <ul>
  76
+              <li><a href="/docs/user/languages/c/">C *</a></li>
  77
+              <li><a href="/docs/user/languages/cpp/">C++ *</a></li>
76 78
               <li><a href="/fr/docs/user/languages/clojure/">Clojure</a></li>
77 79
               <li><a href="/fr/docs/user/languages/erlang/">Erlang</a></li>
  80
+              <li><a href="/docs/user/languages/go/">Go *</a></li>
78 81
               <li><a href="/docs/user/languages/groovy/">Groovy *</a></li>
79 82
               <li><a href="/docs/user/languages/haskell/">Haskell *</a></li>
80 83
               <li><a href="/docs/user/languages/java/">Java *</a></li>
3  _layouts/pt-BR.html
@@ -55,8 +55,11 @@ <h1 class="riddle"><a href="/" title="Travis">Travis CI</a></h1>
55 55
             </ul>
56 56
             <h2>Guias para linguagens específicas</h2>
57 57
             <ul>
  58
+              <li><a href="/docs/user/languages/c/">C</a></li>
  59
+              <li><a href="/docs/user/languages/cpp/">C++</a></li>
58 60
               <li><a href="/pt-BR/docs/user/languages/clojure/">Clojure</a></li>
59 61
               <li><a href="/pt-BR/docs/user/languages/erlang/">Erlang</a></li>
  62
+              <li><a href="/docs/user/languages/go/">Go</a></li>
60 63
               <li><a href="/pt-BR/docs/user/languages/groovy/">Groovy</a></li>
61 64
               <li><a href="/pt-BR/docs/user/languages/haskell/">Haskell</a></li>
62 65
               <li><a href="/pt-BR/docs/user/languages/java/">Java</a></li>
12  docs/user/ci-environment.md
Source Rendered
@@ -30,14 +30,21 @@ Provisioning of VMs is automated using [OpsCode Chef](http://www.opscode.com/che
30 30
 
31 31
 ## Environment common to all VM images
32 32
 
33  
-### Built toolchain
  33
+### Compilers & Built toolchain
  34
+
  35
+GCC 4.6.x, Clang 3.1.x, make, autotools, cmake, scons.
34 36
 
35  
-GCC 4.6.x, make, autotools, et cetera.
36 37
 
37 38
 ### Networking tools
38 39
 
39 40
 curl, wget, OpenSSL, rsync
40 41
 
  42
+
  43
+### Go
  44
+
  45
+Go compiler/build tool 1.0.
  46
+
  47
+
41 48
 ### Runtimes
42 49
 
43 50
 Every worker has at least one version of
@@ -46,6 +53,7 @@ Every worker has at least one version of
46 53
 * OpenJDK
47 54
 * Python
48 55
 * Node.js
  56
+* Go compiler/build tool
49 57
 
50 58
 to accommodate projects that may need one of those runtimes during the build.
51 59
 
41  docs/user/getting-started.md
Source Rendered
@@ -8,8 +8,11 @@ permalink: getting-started/
8 8
 
9 9
 Travis CI is a hosted continuous integration service for the open source community. It is integrated with GitHub and offers first class support for:
10 10
 
  11
+* [C](/docs/user/languages/c)
  12
+* [C++](/docs/user/languages/cpp)
11 13
 * [Clojure](/docs/user/languages/clojure)
12 14
 * [Erlang](/docs/user/languages/erlang)
  15
+* [Go](/docs/user/languages/go)
13 16
 * [Groovy](/docs/user/languages/groovy)
14 17
 * [Haskell](/docs/user/languages/haskell)
15 18
 * [Java](/docs/user/languages/java)
@@ -24,6 +27,10 @@ Our CI environment provides multiple runtimes (e.g. Node.js or PHP versions), da
24 27
 
25 28
 travis-ci.org originally started as a service for the Ruby community in early 2011 but has added support for many other technologies since then.
26 29
 
  30
+As a free community service, Travis CI limits build duration to about 20 minutes. Because some larger codebases may take very long time to build,
  31
+please take care to only use a reasonable amount of workers time.
  32
+
  33
+
27 34
 ### Step one: Sign in
28 35
 
29 36
 To get started with Travis CI, sign in through Github OAuth. Go to [Travis CI](http://travis-ci.org) and follow the Sign In link at the top.
@@ -44,6 +51,31 @@ If `.travis.yml` is not in the repository, is misspelled or is not [valid YAML](
44 51
 
45 52
 Here are some basic **.travis.yml** examples:
46 53
 
  54
+
  55
+#### C
  56
+
  57
+    language: c
  58
+    compiler:
  59
+      - gcc
  60
+      - clang
  61
+    # Change this to your needs
  62
+    script: ./configure && make
  63
+
  64
+Learn more about [.travis.yml options for C projects](/docs/user/languages/c/)
  65
+
  66
+
  67
+#### C++
  68
+
  69
+    language: cpp
  70
+    compiler:
  71
+      - gcc
  72
+      - clang
  73
+    # Change this to your needs
  74
+    script: ./configure && make
  75
+
  76
+Learn more about [.travis.yml options for C++ projects](/docs/user/languages/cpp/)
  77
+
  78
+
47 79
 #### Clojure
48 80
 
49 81
 For projects using Leiningen 1:
@@ -83,6 +115,14 @@ Learn more about [.travis.yml options for Erlang projects](/docs/user/languages/
83 115
 Learn more about [.travis.yml options for Haskell projects](/docs/user/languages/haskell/)
84 116
 
85 117
 
  118
+#### Go
  119
+
  120
+    language: go
  121
+
  122
+Learn more about [.travis.yml options for Go projects](/docs/user/languages/go/)
  123
+
  124
+
  125
+
86 126
 #### Groovy
87 127
 
88 128
     language: groovy
@@ -107,7 +147,6 @@ Learn more about [.travis.yml options for Java projects](/docs/user/languages/ja
107 147
 
108 148
      language: node_js
109 149
      node_js:
110  
-       - 0.4
111 150
        - 0.6
112 151
        - 0.8
113 152
 
70  docs/user/languages/c.md
Source Rendered
... ...
@@ -0,0 +1,70 @@
  1
+---
  2
+title: Building a C Project
  3
+layout: en
  4
+permalink: c/
  5
+---
  6
+
  7
+### What This Guide Covers
  8
+
  9
+This guide covers build environment and configuration topics specific to C projects. Please make sure to read our [Getting Started](/docs/user/getting-started/) and [general build configuration](/docs/user/build-configuration/) guides first.
  10
+
  11
+## CI environment for C Projects
  12
+
  13
+Travis VMs are 32 bit and currently provide
  14
+
  15
+ * gcc 4.6
  16
+ * clang 3.1
  17
+ * core GNU build toolchain (autotools, make), cmake, scons
  18
+
  19
+C projects on travis-ci.org assume you use Autotools and Make by default.
  20
+
  21
+As a free community service, Travis CI limits build duration to about 20 minutes. Because some large C codebases may take very long time to build,
  22
+please take care to not take too much of workers time. If you project takes longer than 10-15, please contact us on the mailing nlist
  23
+before you add your project to Travis.
  24
+
  25
+
  26
+## Dependency Management
  27
+
  28
+Because there is no dominant convention in the community about dependency management, Travis CI skips dependency installation
  29
+for C projects. 
  30
+
  31
+If you need to perform special tasks before your tests can run, override the `install:` key in your `.travis.yml`:
  32
+
  33
+    install: make get-deps
  34
+
  35
+See [general build configuration guide](/docs/user/build-configuration/) to learn more.
  36
+
  37
+
  38
+
  39
+## Default Test Script
  40
+
  41
+Because C projects on travis-ci.org assume Autotools and Make by default, naturally, the default command Travis CI will use to
  42
+run your project test suite is
  43
+
  44
+    ./configure && make && make test
  45
+
  46
+Projects that find this sufficient can use a very minimalistic .travis.yml file:
  47
+
  48
+    language: c
  49
+
  50
+This can be overriden as described in the [general build configuration](/docs/user/build-configuration/) guide. For example, to build
  51
+by running Scons without arguments, override the `script:` key in `.travis.yml` like this:
  52
+
  53
+    script: scons
  54
+
  55
+
  56
+## Choosing compilers to test against
  57
+
  58
+It is possible to test projects against either GCC or Clang, or both. To do so, specify the compiler to use using the `compiler:` key
  59
+in `.travis.yml`. For example, to build with Clang:
  60
+
  61
+    compiler: clang
  62
+
  63
+or both GCC and Clang:
  64
+
  65
+    compiler:
  66
+      - clang
  67
+      - gcc
  68
+
  69
+Testing against two compilers will create (at least) 2 rows in your build matrix. For each row, Travis CI C builder will export the `CC`
  70
+env variable to point to either `gcc` or `clang`.
74  docs/user/languages/cpp.md
Source Rendered
... ...
@@ -0,0 +1,74 @@
  1
+---
  2
+title: Building a C Project
  3
+layout: en
  4
+permalink: cpp/
  5
+---
  6
+
  7
+### What This Guide Covers
  8
+
  9
+This guide covers build environment and configuration topics specific to C++ projects. Please make sure to read our [Getting Started](/docs/user/getting-started/) and [general build configuration](/docs/user/build-configuration/) guides first.
  10
+
  11
+## CI environment for C Projects
  12
+
  13
+Travis VMs are 32 bit and currently provide
  14
+
  15
+ * gcc 4.6
  16
+ * clang 3.1
  17
+ * core GNU build toolchain (autotools, make), cmake, scons
  18
+
  19
+C++ projects on travis-ci.org assume you use Autotools and Make by default.
  20
+
  21
+As a free community service, Travis CI limits build duration to about 20 minutes. Because some large C++ codebases may take very long time to build,
  22
+please take care to not take too much of workers time. If you project takes longer than 10-15, please contact us on the mailing list
  23
+before you add your project to Travis.
  24
+
  25
+## Dependency Management
  26
+
  27
+Because there is no dominant convention in the community about dependency management, Travis CI skips dependency installation
  28
+for C++ projects. 
  29
+
  30
+If you need to perform special tasks before your tests can run, override the `install:` key in your `.travis.yml`:
  31
+
  32
+    install: make get-deps
  33
+
  34
+See [general build configuration guide](/docs/user/build-configuration/) to learn more.
  35
+
  36
+
  37
+
  38
+## Default Test Script
  39
+
  40
+Because C projects on travis-ci.org assume Autotools and Make by default, naturally, the default command Travis CI will use to
  41
+run your project test suite is
  42
+
  43
+    ./configure && make && make test
  44
+
  45
+Projects that find this sufficient can use a very minimalistic .travis.yml file:
  46
+
  47
+    language: cpp
  48
+
  49
+This can be overriden as described in the [general build configuration](/docs/user/build-configuration/) guide. For example, to build
  50
+by running Scons without arguments, override the `script:` key in `.travis.yml` like this:
  51
+
  52
+    script: scons
  53
+
  54
+
  55
+## Choosing compilers to test against
  56
+
  57
+It is possible to test projects against either GCC or Clang, or both. To do so, specify the compiler to use using the `compiler:` key
  58
+in `.travis.yml`. For example, to build with Clang:
  59
+
  60
+    compiler: clang
  61
+
  62
+or both GCC and Clang:
  63
+
  64
+    compiler:
  65
+      - clang
  66
+      - gcc
  67
+
  68
+Testing against two compilers will create (at least) 2 rows in your build matrix. For each row, Travis CI C builder will export the `CXX`
  69
+env variable to point to either `g++` or `clang++` and `CC` to either `gcc` or `clang`.
  70
+
  71
+
  72
+## Examples
  73
+
  74
+ * [Rubinius](https://github.com/rubinius/rubinius/blob/master/.travis.yml)
74  docs/user/languages/go.md
Source Rendered
... ...
@@ -0,0 +1,74 @@
  1
+---
  2
+title: Building a Go Project
  3
+layout: en
  4
+permalink: go/
  5
+---
  6
+
  7
+### What This Guide Covers
  8
+
  9
+This guide covers build environment and configuration topics specific to Go projects. Please make sure to read our [Getting Started](/docs/user/getting-started/) and [general build configuration](/docs/user/build-configuration/) guides first.
  10
+
  11
+## CI environment for Go Projects
  12
+
  13
+Travis VMs are 32 bit and currently provide
  14
+
  15
+ * go 1.0
  16
+ * core GNU build toolchain (autotools, make), cmake, scons
  17
+
  18
+Go projects on travis-ci.org assume you use Make or straight Go build tool by default.
  19
+
  20
+As a free community service, Travis CI limits build duration to about 20 minutes.
  21
+
  22
+
  23
+## Dependency Management
  24
+
  25
+Because there is no dominant [convention in the community about dependency management](https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/t01qsI40ms4), Travis CI uses
  26
+
  27
+    go get -d -v && go build -v
  28
+
  29
+to build Go project's dependencies by default.
  30
+
  31
+If you need to perform special tasks before your tests can run, override the `install:` key in your `.travis.yml`:
  32
+
  33
+    install: make get-deps
  34
+
  35
+See [general build configuration guide](/docs/user/build-configuration/) to learn more.
  36
+
  37
+
  38
+
  39
+## Default Test Script
  40
+
  41
+Go projects on travis-ci.org assume that either Make or Go build tool are used by default. In case there is a Makefile in the repository root,
  42
+the default command Travis CI will use to run your project test suite is
  43
+
  44
+    make
  45
+
  46
+In case there is no Makefile, it will be
  47
+
  48
+    go test -v
  49
+
  50
+instead.
  51
+
  52
+Projects that find this sufficient can use a very minimalistic .travis.yml file:
  53
+
  54
+    language: go
  55
+
  56
+This can be overriden as described in the [general build configuration](/docs/user/build-configuration/) guide. For example, to omit the `-v` flag,
  57
+override the `script:` key in `.travis.yml` like this:
  58
+
  59
+    script: go test
  60
+
  61
+To build by running Scons without arguments, use this:
  62
+
  63
+    script: scons
  64
+
  65
+
  66
+## Provided Go versions
  67
+
  68
+Travis CI currently only provides a single Go version, 1.0.
  69
+
  70
+
  71
+## Examples
  72
+
  73
+ * [peterbourgon/diskv](https://github.com/peterbourgon/diskv/blob/master/.travis.yml)
  74
+ * [Go AMQP client](https://github.com/streadway/amqp/blob/master/.travis.yml)
3  index.md
Source Rendered
@@ -5,8 +5,11 @@ layout: en
5 5
 
6 6
 Travis CI is a hosted continuous integration service for the open source community. It is integrated with GitHub and offers first class support for:
7 7
 
  8
+* [C](/docs/user/languages/c)
  9
+* [C++](/docs/user/languages/cpp)
8 10
 * [Clojure](/docs/user/languages/clojure)
9 11
 * [Erlang](/docs/user/languages/erlang)
  12
+* [Go](/docs/user/languages/go)
10 13
 * [Groovy](/docs/user/languages/groovy)
11 14
 * [Haskell](/docs/user/languages/haskell)
12 15
 * [Java](/docs/user/languages/java)

0 notes on commit 453864a

Please sign in to comment.
Something went wrong with that request. Please try again.