Skip to content

monperrus/fun-with-travis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Fun with Travis

Describes experiments with using Travis.

How does Travis handle cache files?

To answer this, set up a travis file with cache and add cat $0 to the script proof.

You'll see that:

  • Travis fetches and uploads the cache files from Google storage https://travis-cache-production-org-gce.storage.googleapis.com where the bucket id is the Travis repo id and Travis publick key is GOOGZFGMULTAVLI3C63H, eg the cache url is https://travis-cache-production-org-gce.storage.googleapis.com/105377138/test/cache--linux-xenial-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855--rvm-default--gemfile-Gemfile.tgz?Expires=1582393178&GoogleAccessId=GOOGZFGMULTAVLI3C63H&Signature=oSFR4uHZqTicXNT40ovlARQQuFs
  • The URL requires the three parameters Expires, GoogleAccessId and Signature (documentation)
  • When a cache is needed in subsequent builds, Travis re-generates a new URL with a good signature and new expiration time based on their secret
  • conclusion: it is possible to access the cache from outside Travis by reading the url at cache\ push but not beyond the expiration date
  • travis uses a tool called casher available at https://github.com/travis-ci/casher and downloaded from https://build.travis-ci.org/files/casher
  • See also https://docs.travis-ci.com/user/caching/

How to push to github directly from Travis?

For a single file, one way is to call the travis API as follows (with the environment variable GITHUB_AUTH_TOKEN set). Don't push to the same branch directly or this trigger an infinite recursion of travis calls.

script:
- curl -O https://raw.githubusercontent.com/monperrus/misc/master/push-file-to-github.sh
- chmod 755 push-file-to-github.sh
- echo foo bar > foo.txt
- ./push-file-to-github.sh foo.txt monperrus fun-with-travis data2

Proof: build log commit from travis

How to enrich the travis build with content from elsewhere?

It is possible to get the travis script from another source than the repo itself. For example, in .travis.yml

install:
- curl -o build.sh http://www.monperrus.net/martin/build.txt
- chmod 755 build.sh

script:
- ./build.sh

proof

How to trigger another build from Travis?

Now let's add trigger a Travis build from a travis build.

body='{
"request": {
"branch":"'$TARGET_BRANCH'"
}}'

# requires before "gem install travis"
travis login --github-token $GITHUB_AUTH_TOKEN
TRAVIS_TOKEN=$(travis token --no-interactive)

curl -s -X POST \
   -H "Content-Type: application/json" \
   -H "Accept: application/json" \
   -H "Travis-API-Version: 3" \
   -H "Authorization: token "$TRAVIS_TOKEN \
   -d "$body" \
   https://api.travis-ci.org/repo/$TARGET_REPO/requests

proof

How to delete a Github branch from Travis?

It is quite easy to delete a branch from travis

curl -X DELETE -H Authorization:\ token\ $GITHUB_AUTH_TOKEN https://api.github.com/repos/monperrus/travis/git/refs/heads/branchname

Interestingly, it is possible to do an autodestructing branch, where the built deletes the branch from which it is being built, by using environment variable $TRAVIS_BRANCH:

curl -X DELETE -H Authorization:\ token\ $GITHUB_AUTH_TOKEN https://api.github.com/repos/monperrus/travis/git/refs/heads/$TRAVIS_BRANCH

proof

Note that is impossible to delete branch "master" (which is protected by default, unless changed).

Removing the branch makes it harder to reproduce the build, but if one outputs enough information in the build trace, that's still possible.

How to install Github's Hub on travis?

No solution yet

# does not work
go get github.com/github/hub
error:
package github.com/github/hub: no buildable Go source files in /home/travis/gopath/src/github.com/github/hub

How to add an environment variable to travis?

$ travis encrypt SOMETHING=foobar
Detected repository as monperrus/travis, is this correct? |yes| 
Please add the following to your .travis.yml file:

  secure: "fQPVVabiRPGFdUKkjyJjhudwmZaWv2gPgMtp6AbTTRzVTZLksbbDeaC++HiDrXTVgunQecdiC9YxrKjDUYnX/SuqX0VbKmkyOcjghD4Us4+vXdiS4tTqpVUuNLGFeyODA6PPn3nURWiShvTKTd7EJ446QekbmsP/5NMVQZ7DNnyqGe2UdtWRciVMuOaUelxpd2Lz7wQyPe7/LAZUr30aoenv+9Pt7GHh921MLfAg03j76tzpS2nhdgkstPCdj09seKOo/SSoqAxwD9l2lKWgPJaMwHHfNzyLseJejahVe0/1xZoiXD/k13oXUnv0Cn43OCytEq1zaUZe3w53Zm9BQ9Dai9QIW+HkYDtrIHBRnCMX2gaK7jabirIlve+BxufxZ9uUPMdgtwqY/u+Ye1mY37X979xfsCzYQ7+DOOOJotn69sDpeOFX6J7RdPARLhEdGpU6RNEYxzo21vyxTk4aqfreAlVhL8tdlfFphtDOoe8yw38neXr2BB//FmUFZtxC/G92uQzccTivMlfoK/CyCgr3ViTon8nBjegmQS1fvWWltJHtQHdokz7VddebfNrGc1Xzrqu8zRUp9hX18i+fI7es46nRlh4OqQHEDiItxz/+yM9EXyoKqJf4HA+0iFSFAUhimczAvD9lh7UOtQI0ZtN0km1Ugbc72+Tv9d2CtEg="

Pro Tip: You can add it automatically by running with --add.

# --add must be at the end
$ travis encrypt SOMETHING=foobar --add 

How to install "travis" (the tool) and "travis" (the environment)

Simply "gem install travis" (proof)

If a key is available, one can register a Travis session on travis.

travis login --github-token $GITHUB_AUTH_TOKEN

And create a travis token

travis token --no-interactive

proof

What is the default setup of travis?

Build language: ruby
Build group: stable
Build dist: trusty

What are the environement variables of travis?

MANPATH=/home/travis/.nvm/versions/node/v7.4.0/share/man:/home/travis/.kiex/elixirs/elixir-1.4.5/man:/home/travis/.rvm/rubies/ruby-2.4.1/share/man:/usr/local/man:/usr/local/clang-3.9.0/share/man:/usr/local/share/man:/usr/share/man:/home/travis/.rvm/man
TRAVIS_FILTERED=redirect_io
MYSQL_UNIX_PORT=/var/run/mysqld/mysqld.sock
rvm_bin_path=/home/travis/.rvm/bin
HOSTNAME=testing-docker-0bab3d20-2ed9-410e-aec0-049ffd74ca45
HAS_JOSH_K_SEAL_OF_APPROVAL=true
PYENV_ROOT=/opt/pyenv
NVM_CD_FLAGS=
GEM_HOME=/home/travis/.rvm/gems/ruby-2.4.1
TRAVIS_STACK_JOB_BOARD_REGISTER=/.job-board-register.yml
TRAVIS_TEST_RESULT=0
TRAVIS_STACK_LANGUAGES=__garnet__ c c++ clojure cplusplus cpp default go groovy java node_js php pure_java python ruby scala
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
ELIXIR_VERSION=1.4.5
IRBRC=/home/travis/.rvm/rubies/ruby-2.4.1/.irbrc
TRAVIS_COMMIT=ba86c0b4bcb183db921451152dface6f7f2d6463
TRAVIS_OS_NAME=linux
TRAVIS_UID=2000
OLDPWD=/home/travis/build
MY_RUBY_HOME=/home/travis/.rvm/rubies/ruby-2.4.1
LC_ALL=en_US.UTF-8
MIX_ARCHIVES=/home/travis/.kiex/mix/elixir-1.4.5
USER=travis
NVM_DIR=/home/travis/.nvm
HISTFILESIZE=2000
_system_type=Linux
TRAVIS_LANGUAGE=ruby
PERLBREW_BASHRC_VERSION=0.80
rvm_path=/home/travis/.rvm
TRAVIS=true
MALLOC_ARENA_MAX=2
TRAVIS_REPO_SLUG=monperrus/test
HAS_ANTARES_THREE_LITTLE_FRONZIES_BADGE=true
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs4 --with-wide-unicode --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions --with-computed-gotos
_JAVA_OPTIONS=-Xmx2048m -Xms512m
TRAVIS_COMMIT_MESSAGE=Commit by Martin Monperrus on 30 September 2017
TRAVIS_PULL_REQUEST=false
PAGER=cat
RACK_ENV=test
PERLBREW_ROOT=/home/travis/perl5/perlbrew
TRAVIS_STACK_TIMESTAMP=2017-08-29 02:16:31 UTC
rvm_prefix=/home/travis
PYTHON_CFLAGS=-g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security
PATH=/home/travis/.rvm/gems/ruby-2.4.1/bin:/home/travis/.rvm/gems/ruby-2.4.1@global/bin:/home/travis/.rvm/rubies/ruby-2.4.1/bin:/home/travis/.rvm/bin:/home/travis/bin:/home/travis/.local/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v7.4.0/bin:/home/travis/.kiex/elixirs/elixir-1.4.5/bin:/home/travis/.kiex/bin:/home/travis/gopath/bin:/usr/local/phantomjs/bin:/usr/local/phantomjs:/usr/local/neo4j-3.2.1/bin:/usr/local/clang-3.9.0/bin:/home/travis/.gimme/versions/go1.7.4.linux.amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin
TRAVIS_PULL_REQUEST_SHA=
TRAVIS_RUBY_VERSION=default
FOOFOO=[secure]
PWD=/home/travis/build/monperrus/test
CONTINUOUS_INTEGRATION=true
JAVA_HOME=/usr/lib/jvm/java-8-oracle
LANG=en_US.UTF-8
TRAVIS_PRE_CHEF_BOOTSTRAP_TIME=2017-08-29T02:16:18
MERB_ENV=test
TZ=UTC
_system_arch=x86_64
PERLBREW_HOME=/home/travis/.perlbrew
PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 
_system_version=14.04
TRAVIS_SUDO=false
TRAVIS_TAG=
TRAVIS_ALLOW_FAILURE=false
RBENV_SHELL=bash
HISTCONTROL=ignoredups:ignorespace
rvm_version=1.29.2 (latest)
TRAVIS_JOB_NUMBER=4.1
TRAVIS_EVENT_TYPE=push
PYENV_SHELL=bash
SHLVL=1
PS4=+
HOME=/home/travis
GOROOT=/home/travis/.gimme/versions/go1.7.4.linux.amd64
RAILS_ENV=test
CI=true
TRAVIS_BUILD_ID=281667738
TRAVIS_STACK_FEATURES=basic cassandra chromium couchdb disabled-ipv6 docker docker-compose elasticsearch firefox go-toolchain google-chrome jdk memcached mongodb mysql neo4j nodejs_interpreter perl_interpreter perlbrew phantomjs postgresql python_interpreter rabbitmq redis riak ruby_interpreter sqlite xserver
TRAVIS_PULL_REQUEST_SLUG=
COMPOSER_NO_INTERACTION=1
GEM_PATH=/home/travis/.rvm/gems/ruby-2.4.1:/home/travis/.rvm/gems/ruby-2.4.1@global
TRAVIS_SECURE_ENV_VARS=true
DEBIAN_FRONTEND=noninteractive
NVM_BIN=/home/travis/.nvm/versions/node/v7.4.0/bin
GOPATH=/home/travis/gopath
TRAVIS_STACK_NODE_ATTRIBUTES=/.node-attributes.yml
TRAVIS_STACK_NAME=garnet
GIT_ASKPASS=echo
TRAVIS_BRANCH=travis-test1
TRAVIS_COMMIT_RANGE=d2a5a6735379...ba86c0b4bcb1
JRUBY_OPTS= --client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -Xcext.enabled=false -J-Xss2m -Xcompile.invokedynamic=false
JDK_SWITCHER_DEFAULT=oraclejdk8
TRAVIS_PULL_REQUEST_BRANCH=
TRAVIS_JOB_ID=281667739
RUBY_VERSION=ruby-2.4.1
container=docker
_system_name=Ubuntu
TRAVIS_BUILD_DIR=/home/travis/build/monperrus/test
TRAVIS_BUILD_NUMBER=4
_=/usr/bin/env

What are the tools available in /usr/bin by default?

2to3
2to3-2.7
2to3-3.4
a2p
aa-enabled
aclocal
aclocal-1.14
acpi_listen
add-apt-repository
addpart
addr2line
amd64-mingw32msvc-addr2line
amd64-mingw32msvc-ar
amd64-mingw32msvc-as
amd64-mingw32msvc-c++filt
amd64-mingw32msvc-dlltool
amd64-mingw32msvc-dllwrap
amd64-mingw32msvc-gprof
amd64-mingw32msvc-ld
amd64-mingw32msvc-nm
amd64-mingw32msvc-objcopy
amd64-mingw32msvc-objdump
amd64-mingw32msvc-ranlib
amd64-mingw32msvc-readelf
amd64-mingw32msvc-size
amd64-mingw32msvc-strings
amd64-mingw32msvc-strip
amd64-mingw32msvc-windmc
amd64-mingw32msvc-windres
animate
animate.im6
ant
appletviewer
apport-bug
apport-cli
apport-collect
apport-unpack
appres
apropos
apt
apt-add-repository
apt-cache
apt-cdrom
apt-config
apt-extracttemplates
apt-ftparchive
apt-get
aptitude
aptitude-create-state-bundle
aptitude-curses
aptitude-run-state-bundle
apt-key
apt-mark
apt-sortpkgs
ar
arch
as
assistant
at
atq
atrm
autoconf
autoheader
autom4te
automake
automake-1.14
autoreconf
autoscan
autoupdate
awk
axi-cache
b2m
b2m.emacs23
base64
basename
bashbug
batch
bc
bdftopcf
bdftruncate
bison
bison.yacc
bsd-from
bsd-write
bsondump
bugpoint
bugpoint-3.4
byobu
byobu-config
byobu-ctrl-a
byobu-disable
byobu-disable-prompt
byobu-enable
byobu-enable-prompt
byobu-export
byobu-janitor
byobu-keybindings
byobu-launch
byobu-launcher
byobu-launcher-install
byobu-launcher-uninstall
byobu-layout
byobu-prompt
byobu-quiet
byobu-reconnect-sockets
byobu-screen
byobu-select-backend
byobu-select-profile
byobu-select-session
byobu-shell
byobu-silent
byobu-status
byobu-status-detail
byobu-tmux
byobu-ugraph
byobu-ulevel
bzr
c++
c2ph
c89
c89-gcc
c99
c99-gcc
cal
calendar
captoinfo
cassandra-stress
catchsegv
catman
cautious-launcher
cc
ccache
c++filt
chage
chardet
chattr
chcon
cheetah
cheetah-analyze
cheetah-compile
chfn
chkdupexe
chromium-browser
chrt
chsh
cifsiostat
ckbcomp
cksum
clear
clear_console
clusterdb
cmake
cmp
codepage
col
colcrt
colrm
column
comm
compare
compare.im6
compile_et
compose
composite
composite.im6
config_data
conjure
conjure.im6
ControlPanel
convert
convert.im6
corelist
couch-config
couchdb
couchjs
cpack
cpan
cpan2dist
cpanp
cpanp-run-perl
cpp
cpp-4.8
cqlsh
cqlsh.py
createdb
createlang
createuser
c_rehash
crontab
csplit
ctags
ctags.emacs23
ctags.emacs24
ctest
ctstat
curl
curl-config
cut
cvt
dbilogstrip
dbiprof
dbiproxy
dco
ddate
deallocvt
debconf
debconf-apt-progress
debconf-communicate
debconf-copydb
debconf-escape
debconf-getlang
debconf-get-selections
debconf-loadtemplate
debconf-mergetemplate
debconf-set-selections
debconf-show
deb-systemd-helper
deb-systemd-invoke
delpart
derb
designer
dgawk
dh_autotools-dev_restoreconfig
dh_autotools-dev_updateconfig
dh_bash-completion
dh_installxmlcatalogs
dh_perl_dbi
dh_pypy
dh_python2
dh_python3
diameterc
diff
diff3
dig
dircolors
dirname
display
display.im6
do-release-upgrade
dosdebug
dosemu
dosemu.bin
dotlockfile
dpkg
dpkg-architecture
dpkg-buildflags
dpkg-buildpackage
dpkg-checkbuilddeps
dpkg-deb
dpkg-distaddfile
dpkg-divert
dpkg-genchanges
dpkg-gencontrol
dpkg-gensymbols
dpkg-maintscript-helper
dpkg-mergechangelogs
dpkg-name
dpkg-parsechangelog
dpkg-query
dpkg-scanpackages
dpkg-scansources
dpkg-shlibdeps
dpkg-source
dpkg-split
dpkg-statoverride
dpkg-trigger
dpkg-vendor
dropdb
droplang
dropuser
du
dumpkeys
dumpsexp
dwp
eatmydata
ebrowse
ebrowse.emacs23
ebrowse.emacs24
edit
editor
editres
eject
elfedit
emacs
emacs23
emacs23-nox
emacs24
emacs24-x
emacsclient
emacsclient.emacs23
emacsclient.emacs24
enc2xs
env
envsubst
epmd
eqn
erb
erb1.9.1
erb2.0
erl
erlc
erl_call
escript
etags
etags.emacs23
etags.emacs24
ex
expand
expiry
expr
extcheck
factor
faillog
fallocate
fc-cache
fc-cat
fc-list
fc-match
fc-pattern
fc-query
fc-scan
fc-validate
filan
file
find
find2perl
flex
flex++
flock
fmt
fold
fonttosfnt
free
freetype-config
from
ftp
funzip
g++
g++-4.8
gawk
gcc
gcc-4.8
gcc-ar
gcc-ar-4.8
gcc-nm
gcc-nm-4.8
gcc-ranlib
gcc-ranlib-4.8
gcov
gcov-4.8
gdbus
gdbus-codegen
gdk-pixbuf-csource
gdk-pixbuf-pixdata
gdk-pixbuf-query-loaders
gem
gem1.9.1
gem2.0
genbrk
gencat
gencfu
gencnval
gendict
genrb
geos-config
geqn
getconf
getent
getkeycodes
getopt
gettext
gettextize
gettext.sh
ginstall-info
gio-querymodules
git
git-lfs
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
glib-compile-resources
glib-compile-schemas
glib-genmarshal
glib-gettextize
glib-mkenums
gnome-www-browser
gobject-query
gold
google-chrome
google-chrome-stable
gpasswd
gpg
gpg2
gpg-agent
gpgconf
gpg-connect-agent
gpg-error
gpg-error-config
gpgkey2ssh
gpgsplit
gpgv
gpg-zip
gpic
gprof
grep-changelog
grep-changelog.emacs23
grep-changelog.emacs24
gresource
groff
grog
grops
grotty
groups
grub-editenv
grub-file
grub-fstest
grub-glue-efi
grub-kbdcomp
grub-menulst2cfg
grub-mkfont
grub-mkimage
grub-mklayout
grub-mknetdir
grub-mkpasswd-pbkdf2
grub-mkrelpath
grub-mkrescue
grub-mkstandalone
grub-mount
grub-ntldr-img
grub-render-label
grub-script-check
grub-syslinux2cfg
gsettings
gtbl
gtester
gtester-report
gtf
h2ph
h2xs
hashdeep
hd
head
helpztags
heroku
hexdump
hg
hg-ssh
hmac256
host
hostid
hwe-support-status
i386
i586-mingw32msvc-addr2line
i586-mingw32msvc-ar
i586-mingw32msvc-as
i586-mingw32msvc-c++
i586-mingw32msvc-cc
i586-mingw32msvc-c++filt
i586-mingw32msvc-cpp
i586-mingw32msvc-dlltool
i586-mingw32msvc-dllwrap
i586-mingw32msvc-g++
i586-mingw32msvc-gcc
i586-mingw32msvc-gcc-4.2.1-sjlj
i586-mingw32msvc-gccbug
i586-mingw32msvc-gcov
i586-mingw32msvc-gprof
i586-mingw32msvc-ld
i586-mingw32msvc-nm
i586-mingw32msvc-objcopy
i586-mingw32msvc-objdump
i586-mingw32msvc-ranlib
i586-mingw32msvc-readelf
i586-mingw32msvc-size
i586-mingw32msvc-strings
i586-mingw32msvc-strip
i586-mingw32msvc-windmc
i586-mingw32msvc-windres
iceauth
iconv
icu-config
icuinfo
id
identify
identify.im6
idlj
ifnames
igawk
import
import.im6
info
infobrowser
infocmp
infokey
infotocap
init-checkconf
initctl2dot
innochecksum
innotop
inspec
install
install-info
instmodsh
intel-virtual-output
ionice
iostat
ipcmk
ipcrm
ipcs
iptables-xml
irb
irb1.9.1
irb2.0
ischroot
isql
itweb-settings
iusql
jaotc
jar
jarsigner
java
javac
javadoc
javafxpackager
javah
javap
javapackager
javaws
javaws.real
jcmd
jconsole
jcontrol
jdb
jdeprscan
jdeps
jexec
jhat
jhsdb
jimage
jinfo
jjs
jlink
jmap
jmc
jmod
join
jps
jrunscript
jsadebugd
jshell
jsondiff
jsonpatch
json_pp
jstack
jstat
jstatd
jvisualvm
jweblauncher
kbdinfo
kbxutil
keep-one-running
keytool
killall
koi8rxterm
krb5-config
last
lastb
lastlog
lcf
lconvert
ld
ld.bfd
ldd
ld.gold
lemon
less
lessecho
lessfile
lesskey
lesspipe
lex
lexgrog
libgcrypt-config
libmcrypt-config
libnetcfg
libpng12-config
libpng-config
libtool
libtoolize
libwmf-config
line
linguist
link
linux32
linux64
linux-boot-prober
listres
llc
llc-3.4
lli
lli-3.4
llvm-ar
llvm-ar-3.4
llvm-as
llvm-as-3.4
llvm-bcanalyzer
llvm-bcanalyzer-3.4
llvm-config
llvm-config-3.4
llvm-cov
llvm-cov-3.4
llvm-diff
llvm-diff-3.4
llvm-dis
llvm-dis-3.4
llvm-dwarfdump
llvm-dwarfdump-3.4
llvm-extract
llvm-extract-3.4
llvm-ld
llvm-link
llvm-link-3.4
llvm-mc
llvm-mc-3.4
llvm-mcmarkup-3.4
llvm-nm
llvm-nm-3.4
llvm-objdump
llvm-objdump-3.4
llvm-prof
llvm-ranlib
llvm-ranlib-3.4
llvm-readobj-3.4
llvm-rtdyld
llvm-rtdyld-3.4
llvm-size
llvm-size-3.4
llvm-stress-3.4
llvm-symbolizer-3.4
llvm-tblgen
llvm-tblgen-3.4
lnstat
loadkeys
loadunimap
locale
localedef
locate
lockfile-check
lockfile-create
lockfile-remove
lockfile-touch
logger
logname
look
lorder
lrelease
lrelease-qt4
lsattr
lsb_release
lscpu
lshw
lsinitramfs
lsof
lspci
lspgpot
lsusb
ltrace
luit
lupdate
lupdate-qt4
lxterm
lzcat
lzcmp
lzdiff
lzegrep
lzfgrep
lzgrep
lzless
lzma
lzmainfo
lzmore
m17n-db
m4
macho-dump
macho-dump-3.4
Magick-config
MagickCore-config
MagickWand-config
mail-lock
mail-touchlock
mail-unlock
make
makeconv
man
mandb
manhole
manpath
mapscrn
mawk
mcookie
md5deep
md5sum
md5sum.textutils
memcached
mesg
midid
miniterm.py
mkfatimage16
mkfifo
mkfontdir
mkfontscale
mk_modmap
mlocate
mlock
moc
moc-qt4
mogrify
mogrify.im6
mongo
mongod
mongodump
mongoexport
mongofiles
mongoimport
mongooplog
mongoperf
mongorestore
mongos
mongostat
mongotop
montage
montage.im6
mpstat
msgattrib
msgcat
msgcmp
msgcomm
msgconv
msgen
msgexec
msgfilter
msgfmt
msggrep
msginit
msgmerge
msgunfmt
msguniq
msql2mysql
mtr
mtrace
myisamchk
myisam_ftdump
myisamlog
myisampack
my_print_defaults
mysql
mysqlaccess
mysqladmin
mysqlanalyze
mysqlbinlog
mysqlbug
mysqlcheck
mysql_client_test
mysql_client_test_embedded
mysql_config
mysql_config_editor
mysql_convert_table_format
mysqld_multi
mysqld_safe
mysqldump
mysqldumpslow
mysql_embedded
mysql_find_rows
mysql_fix_extensions
mysqlhotcopy
mysqlimport
mysql_install_db
mysqloptimize
mysql_plugin
mysqlrepair
mysqlreport
mysql_secure_installation
mysql_setpermission
mysqlshow
mysqlslap
mysqltest
mysqltest_embedded
mysql_tzinfo_to_sql
mysql_upgrade
mysql_waitpid
mysql_zap
namei
nano
native2ascii
nawk
ncal
ncurses5-config
ncursesw5-config
neqn
netkit-ftp
newgrp
nfsiostat
ngettext
nice
nl
nm
nodetool
nohup
nproc
nroff
nslookup
nstat
nsupdate
ntfsdecrypt
ntpdc
ntpq
ntpsweep
ntptrace
numfmt
objcopy
objdump
od
odbcinst
oldfind
omshell
on_ac_power
openssl
opt
opt-3.4
orbd
os-prober
pack200
pager
parsechangelog
partx
passwd
paste
patch
pathchk
pcimodules
pcre-config
pdb
pdb2.7
pdb3
pdb3.4
peekfd
perl
perl5.18.2
perlbug
perldoc
perlivp
perlthanks
perror
pftp
pg
pg_archivecleanup
pgawk
pg_basebackup
pgbench
pg_config
pg_config.libpq-dev
pg_conftool
pg_createcluster
pg_ctlcluster
pg_dropcluster
pg_dump
pg_dumpall
pg_isready
pg_lsclusters
pg_receivewal
pg_receivexlog
pg_recvlogical
pg_renamecluster
pgrep
pg_restore
pg_upgradecluster
pg_virtualenv
pic
pico
piconv
pidstat
pinentry
pinentry-gtk-2
pinentry-x11
pinky
pixeltool
pkg-config
pkgdata
pkill
pl2pm
pldd
pmap
pod2html
pod2latex
pod2latex.bundled
pod2man
pod2text
pod2usage
podchecker
podselect
policyeditor
policytool
pollinate
pr
preconv
prename
print
printenv
printerbanner
printf
procan
prove
prtstat
psed
psfaddtable
psfgettable
psfstriptable
psfxtable
psql
pstree
pstree.x11
pstruct
ptar
ptardiff
ptargrep
ptx
pwdx
py3clean
py3compile
py3versions
pybuild
pyclean
pycompile
pydoc
pydoc2.7
pydoc3
pydoc3.4
pygettext
pygettext2.7
pygettext3
pygettext3.4
pyhtmlizer
python
python2
python2.7
python2.7-config
python2-config
python2-jsondiff
python2-jsonpatch
python3
python3.4
python3.4-config
python3.4m
python3.4m-config
python3-config
python3m
python3m-config
python-config
pyversions
qcollectiongenerator
qdbus
qdbuscpp2xml
qdbusviewer
qdbusxml2cpp
qdoc
qdoc3
qglinfo
qhelpconverter
qhelpgenerator
qmake
qmake-qt4
qml
qml1plugindump
qmlbundle
qmlimportscanner
qmlmin
qmlplugindump
qmlprofiler
qmlscene
qmltestrunner
qmlviewer
qtchooser
qtconfig
qtpaths
ragel
rake1.9.1
rake2.0
ranlib
rcc
rcp
rcs-checkin
rcs-checkin.emacs23
rdoc
rdoc1.9.1
rdoc2.0
re2c
readelf
recode-sr-latin
redis-benchmark
redis-check-aof
redis-check-rdb
redis-cli
redis-server
reindexdb
rename
rename.ul
renice
replace
reset
resize
resizecons
resizepart
resolveip
resolve_stack_dump
rev
rgrep
ri
ri1.9.1
ri2.0
rlogin
rmic
rmid
rmiregistry
routef
routel
rpcgen
rsh
rsync
rtstat
ruby
ruby1.9.1
ruby2.0
runcon
run_erl
run-mailcap
run-one
run-one-constantly
run-one-until-failure
run-one-until-success
run-this-one
rview
rvim
s2p
sadf
sar
sar.sysstat
savelog
schemagen
scons
sconsign
scons-time
scp
screen
screendump
script
scriptreplay
sdiff
see
select-editor
sensible-browser
sensible-editor
sensible-pager
seq
serialver
servertool
service
sessreg
setarch
setkeycodes
setleds
setlogcons
setmetamode
setpci
setsid
setterm
setxkbmap
sftp
sg
sha1deep
sha1sum
sha224sum
sha256deep
sha256sum
sha384sum
sha512sum
shasum
showconsolefont
showkey
showrgb
shred
shuf
size
skill
slabtop
slogin
snice
snmpc
sntp
socat
soelim
sort
sotruss
splain
split
splitfont
sprof
sqlite3
ssh
ssh-add
ssh-agent
ssh-argv0
ssh-copy-id
ssh-import-id
ssh-import-id-gh
ssh-import-id-lp
ssh-keygen
ssh-keyscan
sstabledump
sstableexpiredblockers
sstablelevelreset
sstableloader
sstablemetadata
sstableofflinerelevel
sstablerepairedset
sstablescrub
sstablesplit
sstableupgrade
sstableutil
sstableverify
start_embedded
start_webtool
stat
stdbuf
strace
stream
stream.im6
strings
strip
sudo
sudoedit
sudoreplay
sum
svn
svnadmin
svnauthz
svnauthz-validate
svn-bench
svndumpfilter
svnlook
svnmucc
svn-populate-node-origins-index
svnraisetreeconflict
svnrdump
svn-rep-sharing-stats
svnserve
svnsync
svnversion
symcryptrun
tabs
tac
tail
tap2deb
tap2rpm
tapconvert
tasksel
taskset
tbl
tclsh
tclsh8.6
tcltk-depends
tee
telnet
telnet.netkit
test
testrb
testrb1.9.1
testrb2.0
tic
tigerdeep
time
timeout
tload
tmux
tnameserv
toe
to_erl
top
touch
tput
tr
tracepath
tracepath6
traceroute6
traceroute6.iputils
trial
troff
truncate
tset
tsort
tty
twistd
tzselect
ubuntu-bug
ubuntu-support-status
ucf
ucfq
ucfr
uconv
ucs2any
uic
uic3
uic-qt4
ul
unattended-upgrade
unattended-upgrades
unexpand
unicode_stop
uniq
unlink
unlzma
unpack200
unshare
unxz
unzip
unzipsfx
update-alternatives
updatedb
updatedb.mlocate
update-mime-database
update-mime-database.real
uptime
usb-devices
usbhid-dump
users
uuid-config
uuidgen
uxterm
vacuumdb
vacuumlo
vi
view
viewres
vim
vim.basic
vimdiff
vim.tiny
vimtutor
vmstat
vmtoolsd
vmware-checkvm
vmwarectrl
vmware-hgfsclient
vmware-rpctool
vmware-toolbox-cmd
vmware-user-suid-wrapper
vmware-vmblock-fuse
vmware-xferlogs
volname
w
w3m
w3mman
wall
Wand-config
watch
watchgnupg
wc
wget
whatis
whereis
which
whirlpooldeep
who
whoami
wish
wish8.6
w.procps
write
wsgen
wsimport
www-browser
X11
x86_64
x86_64-linux-gnu-addr2line
x86_64-linux-gnu-ar
x86_64-linux-gnu-as
x86_64-linux-gnu-c++filt
x86_64-linux-gnu-cpp
x86_64-linux-gnu-cpp-4.8
x86_64-linux-gnu-dwp
x86_64-linux-gnu-elfedit
x86_64-linux-gnu-g++
x86_64-linux-gnu-g++-4.8
x86_64-linux-gnu-gcc
x86_64-linux-gnu-gcc-4.8
x86_64-linux-gnu-gcc-ar
x86_64-linux-gnu-gcc-ar-4.8
x86_64-linux-gnu-gcc-nm
x86_64-linux-gnu-gcc-nm-4.8
x86_64-linux-gnu-gcc-ranlib
x86_64-linux-gnu-gcc-ranlib-4.8
x86_64-linux-gnu-gcov
x86_64-linux-gnu-gcov-4.8
x86_64-linux-gnu-gprof
x86_64-linux-gnu-ld
x86_64-linux-gnu-ld.bfd
x86_64-linux-gnu-ld.gold
x86_64-linux-gnu-nm
x86_64-linux-gnu-objcopy
x86_64-linux-gnu-objdump
x86_64-linux-gnu-python2.7-config
x86_64-linux-gnu-python3.4-config
x86_64-linux-gnu-python3.4m-config
x86_64-linux-gnu-python3-config
x86_64-linux-gnu-python3m-config
x86_64-linux-gnu-python-config
x86_64-linux-gnu-ranlib
x86_64-linux-gnu-readelf
x86_64-linux-gnu-size
x86_64-linux-gnu-strings
x86_64-linux-gnu-strip
xargs
xauth
xcmsdb
xdg-desktop-icon
xdg-desktop-menu
xdg-email
xdg-icon-resource
xdg-mime
xdg-open
xdg-screensaver
xdg-settings
xdosemu
xdpyinfo
xdriinfo
xev
xfd
xfontsel
xgamma
xgettext
xhost
xjc
xkbbell
xkbcomp
xkbevd
xkbprint
xkbvleds
xkbwatch
xkeystone
xkill
xlsatoms
xlsclients
xlsfonts
xmessage
xml2-config
xmlpatterns
xmlpatternsvalidator
xmodmap
Xorg
xprop
xrandr
xrdb
xrefresh
xset
xsetmode
xsetpointer
xsetroot
xslt-config
xstdcmap
xsubpp
xterm
x-terminal-emulator
Xvfb
xvfb-run
xvidtune
xvinfo
xwininfo
x-www-browser
xxd
xz
xzcat
xzcmp
xzdiff
xzegrep
xzfgrep
xzgrep
xzless
xzmore
yacc
yes
zdump
zip
zipcloak
zipdetails
zipgrep
zipinfo
zipnote
zipsplit
zsoelim

proof

Preparation

To run things on travis, the first thing to do is to:

  • disable "auto-cancel branch builds"
  • disable "auto-cancel pull requests builds"

About

Fun experiments with travis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages