travis-ci / docs-travis-ci-com Goto Github PK
View Code? Open in Web Editor NEWThe Travis CI Documentation
Home Page: http://docs.travis-ci.com
The Travis CI Documentation
Home Page: http://docs.travis-ci.com
Currently, we only see 404 when the document is not found: http://docs.travis-ci.com/foobar
While this is correct, perhaps we can be more helpful by returning the search results which are possibly related to the specified path.
Is there a way to do this? I might be looking for the wrong terminology, but I can't find anything in the API docs about how to enable a project with Travis. I'd really like to create a node.js CLI to do it if it's possible.
See this ticket for really detailed context.
The idea is the user was confused why the rvm:
section in his .travis.yml
file was not taking into account in his Elixir build image.
I think it would be nice to mention the recipe somewhere e.g. either a note in the Ruby language page or in a new section that could be titled: How to install other language runtimes.
In the paragraph "Parallelizing-your-build-on-one-VM", there is still mention about "Travis CI VMs run on 1.5 virtual cores"
As mentioned in the recent blog post about the new container-based infrastructure this is not true anymore.
(Sorry for not making a PR, I'm not on my Mac right now)
This image is outdated:
It should be updated with a new screenshot.
It's on the Environment Variable
page > Defining Variables in Repository Settings
section.
URL is http://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings
Currently http://docs.travis-ci.com/user/osx-ci-environment/ only details the 10.9 environment (which is the default) but adding a note on the newer 10.10 images available, which is detailed in http://docs.travis-ci.com/user/languages/objective-c/#Xcode-6.4 would be helpful
(I will work on)
when creating a pull request from a branch (on the same repository) travis will trigger 2 jobs. one for the branch and one for the pull request.
we only run complete suite of tests on pull requests and master branch. for other tests we only run quick style check and unittests (which are quick).
now what happens is that status on pull request is linked to the branch travis job, not pull request one.
somebody else also has this problem?
It's currently unavailable in our Trusty beta
E.g. http://docs.travis-ci.com/user/languages/haskell doesn't mention that Haskell is only available on Linux, but not Mac OSX
From my YML file's "after-script:" block I was calling a shell script that invoked a ruby script. The ruby script would fail (exit code 1), but the build would still end with 0 and be classified as successful.
...
Eventually I tried calling the script from within the "script:" block and this did the trick.
See the following ticket for context.
I think we should add a note about this in the Breaking the Build section.
See #19846.
The customer suggested we improve the documentation about setuping xvfb
:
several builds use gem artifacts from rubygems-proxy.torquebox.com, basically rubygems proxied and supplied as maven repository. these gems can be used via maven plugins and gradle plugins.
the jruby project uses this repo as well and due to the nature of the rubygems using ONLY versions ranges it performs rather slow on a maven repo (for each version in the range the pom.xml needs to be downloaded). a local proxy would really speed up the builds here.
I know it is only a small number of projects including jruby.
the latest nexus versions from sonatype come with rubygems repo type included. once the mirror is there you just need to add (assuming the repository ID of the rubygems.org proxy is rubygems)
<mirror>
<id>gems</id>
<name>Rubygems</name>
<url>http://maven.travis-ci.org/nexus/rubygems/maven/releases</url>
<mirrorOf>rubygems-releases</mirrorOf>
</mirror>
<mirror>
<id>pregems</id>
<name>Rubygems Prereleases</name>
<url>http://maven.travis-ci.org/nexus/rubygems/maven/prereleases</url>
<mirrorOf>rubygems-prereleases</mirrorOf>
</mirror>
The Installing dependencies page lists RethinkDB as an example of a requirement that has a Launchpad PPA. But this is no longer supported. Instead, RethinkDB has it's own repository.
Executing the code in this page installs a version of RethinkDB that is very old and is missing a lot of features. RethinkDB is currently working on removing the Launchpad PPA.
install: true
or install: /bin/true
should do the trick, not sure where in the docs this should go
maven 3.3.x comes with extension support in way that you can use ruby DSL pom-files which some jruby based projects are using, including jruby project itself. they have to use a maven wrapper instead of the installed maven BUT this has some limits since there is some /etc/mvnrc file which exports MAVEN_HOME which interferes with the maven running via the maven wrapper.
it is save to remove at least the MAVEN_HOME export of the maven setup since the mvn
executable will set it as needed.
the current maven setup of travis does not allow to run invoker tests with maven wrapper since they start picking the maven from MAVEN_HOME env. the current workaround is to add to travis.yml:
before_script:
- export MAVEN_SKIP_RC=true
https://github.com/travis-ci/docs-travis-ci-com/blob/gh-pages/user/deployment/npm.md
says:
For a minimal configuration, all you need to do is add the following to your
.travis.yml
:deploy: provider: npm email: "YOUR EMAIL ADDRESS" api_key: "YOUR API KEY"
Where "YOUR API KEY" is the result of echo -n "username:password" | base64
optionally encrypted.
I suppose that the username/password pair is the npm one, but what about the email address?
As a side note, accepting non-encrypted credentials is IMO doing a disservice to your users.
File system on Linux worker is case sensitive and thus import/file system links need to match the case or they won't work.
This could betray users' expectations if they use machines with case insensitive file systems.
Gradle downloaded dependencies caching has some quirks that should be documented. Indeed you need to delete the changing lock file in order to not reupload the cache after every build.
Here is what you should put in your .travis.yml file:
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
cache:
directories:
- $HOME/.gradle/caches/
It would be good if pages like http://docs.travis-ci.com/user/workers/standard-infrastructure/ mentioned which OS is running.
For our standard and docker/container based infrastructure this would be 12.04 as of writing.
The command output is limited to ~4 MB and is stripped after with the message The log length has exceeded the limit of 4 Megabytes (this usually means that test suite is raising the same exception over and over).
. This makes travis unsuitable for a bunch of projects and the user expects a tweak to overcome this or a statement that this limitation is definite (see https://api.travis-ci.org/jobs/69127489/log.txt?deansi=true for an example).
At http://docs.travis-ci.com/user/deployment/releases/ the example .travis.yml file has selector "api-key:" which does not work. After using ruby gem travis to setup releases it write "api_key:" for the selector. (Note the underscore)
Where can I find an up to date list of available Erlang versions on travis-ci.org and travis-ci.com?
The docs pages lists just two of the available versions and not even the latest one:
http://docs.travis-ci.com/user/languages/erlang/
The cookbooks contains a list, but for example 17.5 is in this list but not available on travis-ci.org:
https://github.com/travis-ci/travis-cookbooks/blob/4285438264dac78378960f97186f06693bcab0ff/ci_environment/kerl/attributes/source.rb
It would be nice if there was a canonical list somewhere which definitely lists all available versions that are actually installed. It is very tedious to have to commit new .travis.yml
files all the time just to guess which versions are available. It also creates ugly commit and build histories.
The doc at http://docs.travis-ci.com/user/languages/javascript-with-nodejs/ reads:
"Specifying node or stable will run using the latest stable Node.js release and specifying iojs will run using the latest stable io.js release."
Neither defining "node" nor "stable" as a nodejs version works for me. Defining "iojs" or "0.12" does work well.
Am I missing something or is the doc simply wrong?
There doesn't appear to be a feed icon on project build status web pages but by googling and finding this blog entry one can discover that an Atom feed is in fact available.
The availability of notifications via Atom should be added to http://docs.travis-ci.com/user/notifications/, ideally listed with both "RSS" and "Atom" buzzwords.
This link at the bottom of the left sidebar on the profile page goes to https://github.com/settings/connections/:id, which (I guess) should show Travis CI (Pro) as an "Authorized application" for the current user. If it doesn't, then Travis CI has a problem syncing organization memberships (and repos?) ... I guess.
All of this is kinda unclear even to me (Josh: "tbh, it is all confusing"), and GitHub's docs seem less than helpful, too, e.g. https://help.github.com/articles/about-third-party-application-restrictions/
I think it would be good for us to have a way more simple explanation of what's relevant to the user, how it works on GitHub, how it works on Travis CI, and how they can review things and resolve common problems.
Then link to that page on our own documentation, and only link to that arcane GitHub settings page from there.
In http://docs.travis-ci.com/user/notifications/#HipChat-notification we're not mention, that we use API v1 tokens. API v2 tokens are different.
We should add a comment that we use v1
The question of how to access a private PyPi server keeps coming up in support, so some howto style docs would be useful. I guess the same might apply to other languages, like Ruby/Bundler, Node/NPM?
I was going through the travis dpl source code, and noticed that the gcs documentation was not up to date.
http://docs.travis-ci.com/api/#logs
The first doesn't work.
The second does
MariaDB is not listed in the TOC of the Setting up Databases page but there is a section about it in that page.
It would be really nice to have a table of the whitelisted packages and sources. You could probably use JavaScript to fetch the json whitelist from the respective repositiories. You could use this data to populate a table with a searchbox so you can search to see if your package was whitelisted. If I have some spare time I might do this myself.
I noticed that the XUnit sample uses the xunit.console.exe
which is for .NET 2.0 as displayed in the build log:
$ mono ./testrunner/xunit.runners.1.9.2/tools/xunit.console.exe MyProject/bin/Release/UnitTests.dll
xUnit.net console test runner (64-bit .NET 2.0.50727.1433)
Copyright (C) 2013 Outercurve Foundation.
But since most projects nowadays use .NET 4.0+ it might be better to set the default to xunit.console.clr4.exe
which uses .NET 4.0 as displayed in the build log?:
$ mono ./testrunner/xunit.runners.1.9.2/tools/xunit.console.clr4.exe MyProject/bin/Release/UnitTests.dll
xUnit.net console test runner (64-bit .NET 4.0.30319.17020)
Copyright (C) 2013 Outercurve Foundation.
I just retrieved the atom feed, and all items in it have the same date, set to 30min ago. This looks weird to me as some of them are about updates done 1 month ago
I'm trying to work out how to manage artifacts, and while S3 upload seems attractive, I'm unclear from the documentation if builds overwrite previous build artifacts, if they are added in separate folders (with some kind of build/date based naming?), or something else...
A simple couple of sentences in this doc would save me time and effort trying it out.
http://docs.travis-ci.com/user/languages/objective-c/ should mention that it is possible to use xctool_args
along with other, more specific options, like xcode_project
in .travis.yml for objective-c builds.
The way it works is:
It detects if xctool_args
is present. If so it uses it, otherwise defaults to an empty string. Now, for each of the known options xctool_project
, xctool_workspace
, xctool_scheme
, and xctool_sdk
it will add the respective value as a flag.
E.g. the following in .travis.yml
xctool_args: "-destination 'platform=iOS Simulator,name=iPhone 5s'"
xctool_workspace: "Foo.xcworkspace"
xctool_scheme: Foo
xctool_sdk: iphonesimulator
would result in this test (script) command:
xctool -destination "platform=iOS Simulator,name=iPhone 5s" -workspace Foo.xcworkspace -scheme Foo -sdk iphonesimulator build test
See https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/script/objective_c.rb#L102-L108 for the implementation.
The current wording:
http://docs.travis-ci.com/user/caching/#Clearing-Caches
"Currently it is not possible to clear the cache via the web interface, but you can use our command line client to clear the cache:"
However this is now possible using:
https://travis-ci.org/<org>/<project>/caches
...which is accessible under the settings 'cog' icon on each project's page.
it would be nice to be able to skip some of the builds when we change for example only the docs.
e.g. I have a build that builds the docs and validates it, but I want to skip the other builds that run tests on the code.
From this ticket: https://secure.helpscout.net/conversation/83797922/15066/
Aaron had an issue searching for this document http://docs.travis-ci.com/user/private-dependencies/.
He said it took him 30 mins before he gave up and pinged support. Any way we can make it easier to search for? (his search params were "travis-ci private modules")
The 'Ask a Question' on the Travis home page sends you to a page of advice on asking questions (presumably when you are not logged in).
Might be better to link to http://stackoverflow.com/questions/tagged/travis-ci
pip install
by default installs things to /usr/local
which requires sudo
on our Docker based infrastructure.
In order to work around that limitation people can use pip install --user
instead, which will install things to the home directory.
@brntbeer asked for a nice little introduction guide to walk people through the steps of setting up a simple build project. I think this is a great idea, and he wanted to add a few things he'd like to see, so this is the place to be (hey, that rhymed).
several builds use gem artifacts from rubygems-proxy.torquebox.com, basically rubygems proxied and supplied as maven repository. these gems can be used via maven plugins and gradle plugins.
some builds which are currently failing:
https://travis-ci.org/lookout/leafy
https://travis-ci.org/jruby/jruby
yesterday there was DOS attack on the host running rubygems-proxy.torquebox.com - some IPs got blocked as countermeasure. it works again locally with me but travis-ci still only sees connection timeouts to connect to this server. it is possible that the external IP of the travis build servers are part of the blocked IP ranges.
could you please let me know what IPs travis uses on outbound interfaces ?
then we can fix the IP ranges !!
alternatively and even better in for those few projects using gem artifacts is to add them to maven mirrors: #241
In the notifications documentation page (http://docs.travis-ci.com/user/notifications/) there is the following part:
And it will by default send emails when, on the given branch:
* a build was just broken or still is broken
* a previously broken build was just fixed
You can change this behaviour using the following options:
But the options are missing after this. Could you please list them?
Thanks.
Hi! I don't know if this is intentional or not but @solarce mentioned on IRC that I should post an issue here.
The URLs for some documentation pages are 404ing:
These are the only URLs I've tested. Since it seems to be widespread, I'm guessing that other documentation URLs might have changed as well.
edit: I found these pages via Google (travis apt-get and travis container, respectively),
One of our customers emailed us a suggestion to fix our docs with the command that will get CodeClimate to work in a JS environment. ๐ I'm opening this issue to remind us to fix our docs (because I'm new and haven't learned how to do that yet ๐)
The fix is actually to use the command that CodeClimate suggests in their own docs.
Instead of:
cat lcov.info | codeclimate
Do:
codeclimate < lcov.info
For whatever reason, the piped command didn't always work with CodeClimate and their team has no idea why, but changing it to the 2nd command works like a charm.
This page currently shows a lot of Markdown code, which I'd guess goes back to switching to Kramdown as a renderer, which may not support rendering Markdown inside HTML tags: http://docs.travis-ci.com/user/apps/
Ping @plaindocs @lislis.
In http://docs.travis-ci.com/user/apt/
As the docs start with "When using the container based infrastructure" which might mislead users as it's also available in our legacy infrastructure as a (BETA).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.