Skip to content

single-binary with tricks to setup multiple CI providers

License

Notifications You must be signed in to change notification settings

smola/ci-tricks

Repository files navigation

ci-tricks Build Status Build status codecov

ci-tricks is a single-binary that can be run on multiple continuous integration providers to setup the environment in an efficient way.

WARNING: This approach is hacky, dirty and ugly. It is meant to provide some last resort hacks for projects that run on multiple CI providers and platforms.

Supported platforms

  • Appveyor/Windows/amd64
  • Travis/Linux/amd64 (sudo-enabled)
  • Travis/macOS/amd64

Usage

  1. Set the environment variables as required by each trick.
  2. Run ci-tricks.

On Travis CI you can run latest ci-tricks version with:

install:
  - wget -qO - https://raw.githubusercontent.com/smola/ci-tricks/master/get.sh | bash

On Appveyor you can use:

install:
  - ps: iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/smola/ci-tricks/master/get.ps1'))

Tricks

PostgreSQL

PostgreSQL can be set up by setting the POSTGRESQL_VERSION environment variable to the desired PostgreSQL version.

Version Travis/Linux Travis/macOS Appveyor/Windows
9.2
9.3
9.4
9.5
9.6
10
  • '''Note:''' PostgreSQL 10 on Travis/Linux requires using xenial or higher.

RabbitMQ

RabbitMQ can be set up by setting the RABBITMQ_VERSION environment variable to the desired RabbitMQ version.

Version Travis/Linux Travis/macOS Appveyor/Windows
any
  • '''Note:''' RabbitMQ on macOS will not work on old Travis images. Use xcode9.4 or higher.

Contributing

Issues and pull requests are welcome.

Platforms: We are not accepting issues or pull requests related to running ci-tricks outside a continuous integration provider.

Bugs: If you find a bug, please, include a link to an affected CI build.

Features: We are open to include new tricks. For new services, we are initially interested only in those supported either by Travis or by Appveyor.

License

This project is released under the terms of the Apache License 2.0.