Rake tasks to build compatible language runtimes via API.
The Rake task build
tasks 3 arguments (shown below) and invokes appropriate
API calls to initiate builds.
- Repository name
- Branch to build
- Space-delimited argument list to override the builds
- String to filter jobs. The string should be a semicolon-delimited list of
equal-delimited key-values pairs. Those jobs in
jobs.include
that match all of the filters will be chosen and put on the payload; e.g., 'dist=bionic'
Builds Ruby
$ rake build['travis-rubies','build','RUBY=2.1.9']
Builds PHP
$ rake build['php-src-builder','default','VERSION=7.0.6 ALIAS=7.0']
Builds Python
$ rake build['cpython-builder','default','VERSION=3.5.0b3']
The task needs VERSION=…
set, or else it will fail.
Builds OTP Release
$ rake build['travis-erlang-builder','master','VERSION=19.0']
Builds Perl
$ bundle exec rake build['perl-builder','master',"VERSION=5.24.0 ALIAS=5.24"]
For Perl with extra configuration flags, do:
$ bundle exec rake build['perl-builder','master',"VERSION=perl-5.24.0 NAME=5.24.0-shrplib ARGS='-Duseshrplib -Duseithreads'"]
Runs tests for APT package whitelist requests
This repository also includes a Sinatra app which serves two purposes:
-
List known archives for given criteria:
GET /builds/:lang/:os/:release/:arch
The list is stored as JSON in a Redis instance and refreshed if the local data are older than 2 hours. Each of the trailing parts can be omitted, in which case all archives matching the given criteria are shown.
- This endpoint normally serves HTML content, and in this case a Travis CI account is required.
- You may also request the list as JSON or YAML with the
Accept
header; e.g.,No Travis CI account is required in this case.curl -H "Accept: application/json" https://language-archives.travis-ci.com/builds/erlang
-
Request builds with given criteria:
POST /build
with body containing the following parameters:
- repo:
- branch:
- env:
- os:
- dist:
- arch:
- version:
This endpoint is valid for Travis CI administrators only.