Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 2.91 KB

README.md

File metadata and controls

106 lines (76 loc) · 2.91 KB

Build Status

travis-nightly-builder

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.

build Rake task arguments

  1. Repository name
  2. Branch to build
  3. Space-delimited argument list to override the builds
  4. 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'

Compatible repositories

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

Web App

This repository also includes a Sinatra app which serves two purposes:

  1. 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.

    1. This endpoint normally serves HTML content, and in this case a Travis CI account is required.
    2. You may also request the list as JSON or YAML with the Accept header; e.g.,
      curl -H "Accept: application/json" https://language-archives.travis-ci.com/builds/erlang
      
      No Travis CI account is required in this case.
  2. 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.