Skip to content
/ trevor Public

A baseball bat to continuous integration drudgery. Grand. Theft. Automation!

License

Notifications You must be signed in to change notification settings

darach/trevor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

trevor Build Status

** A baseball bat to drudgery. Grand. Theft. Automation! ... **

Trevor Logo

About

Simplify Erlang/OTP release management on my laptop and in my CI environment(s).

Trevor is a python script that can:

  • Download and install kerl
    • Use kerl to install Erlang/OTP releases
  • Install rebar
  • Install rebar3
  • Install relx
  • Build and save dialyzer plts for OTP releases

Trevor caches built artefacts in its github repository so you can

  • Fetch rebar, rebar3, relx into your continuous integration environment
  • Fetch prebuild dialyzer

** Why **

  • Tired of rebar and relx changing under my feet
  • Tired of locally cached rebar and relx copies going out of sync
  • Tired of dialyzer blues
  • Mostly automated. Use it on your laptop, in your vagrant, on your CI.
    • Just add your .kerlrc

Usage

** Get listing on available commands **


$ ./trevor

Documented commands (type help <topic>):
========================================
get  help  interactive  travis  wink

** Get detailed help on a specific command **


$ ./trevor help wink
 wink
        Conditionally build and install OTP releases via kerl
        

** Install kerl, build and install default set of otp releases, and create plts **


bash-4.2$ ./trevor wink
Winking in 17.3
  - Skipping build. Already built!
  - Skipping build. Already installed!
  - Skipping dialyzer build_plt. Already built!
Winking in 17.0
  - Skipping build. Already built!
  - Skipping build. Already installed!
  - Skipping dialyzer build_plt. Already built!
Winking in 17.1
  - Skipping build. Already built!
  - Skipping build. Already installed!
  - Skipping dialyzer build_plt. Already built!
Winking in R16B03
  - Skipping build. Already built!
  - Skipping build. Already installed!
  - Skipping dialyzer build_plt. Already built!
Winking in R16B02
  - Skipping build. Already built!
  - Skipping build. Already installed!
  - Skipping dialyzer build_plt. Already built!

Already installed builds, installs and dialyzer plts will be skipped.

This is a very convenient way to setup a fresh machine once you've crafted a .kerlrc!

** On Travis CI, to get a rebar,relx and plt for your current environment's Erlang/OTP **

Just start your .travis.yml as follows


before_script:
- sudo apt-get update
- sudo apt-get install python
- sudo apt-get install python-setuptools
- sudo apt-get install python-dev
- curl -o trevor https://raw.githubusercontent.com/darach/trevor/master/trevor
- python ./trevor travis

language: erlang
otp_release:
  - 17.3
  - 17.1
  - 17.0
  - R16B03
  - R16B02
script: make

Let trevor do the heavy lifting ...

  • It will grab rebar
  • It will grab relx
  • It will grab an appropriate base plt for your chosen release

LICENSE

MIT

Status

Work in progress

Features

Work in progress

Enjoy!

About

A baseball bat to continuous integration drudgery. Grand. Theft. Automation!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published