Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smola/ci-tricks
single-binary with tricks to setup multiple CI providers
https://github.com/smola/ci-tricks
appveyor continuous-integration travis-ci
Last synced: 3 months ago
JSON representation
single-binary with tricks to setup multiple CI providers
- Host: GitHub
- URL: https://github.com/smola/ci-tricks
- Owner: smola
- License: apache-2.0
- Created: 2018-05-11T16:08:02.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-16T12:41:27.000Z (about 5 years ago)
- Last Synced: 2024-10-04T20:22:37.799Z (3 months ago)
- Topics: appveyor, continuous-integration, travis-ci
- Language: Go
- Size: 188 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ci-tricks [![Build Status](https://travis-ci.org/smola/ci-tricks.svg?branch=master)](https://travis-ci.org/smola/ci-tricks) [![Build status](https://ci.appveyor.com/api/projects/status/github/smola/ci-tricks?branch=master&svg=true)](https://ci.appveyor.com/project/smola/ci-tricks) [![codecov](https://codecov.io/gh/smola/ci-tricks/branch/master/graph/badge.svg)](https://codecov.io/gh/smola/ci-tricks)
**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](https://docs.travis-ci.com/user/reference/overview/#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:
```yaml
install:
- wget -qO - https://raw.githubusercontent.com/smola/ci-tricks/master/get.sh | bash
```On Appveyor you can use:
```yaml
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](https://docs.travis-ci.com/user/reference/osx/). Use `xcode9.4` or higher.
## Contributing
[Issues](https://github.com/smola/ci-tricks/issues) and [pull requests](https://github.com/smola/ci-tricks/pulls) 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](https://docs.travis-ci.com/user/database-setup/) or [by Appveyor](https://www.appveyor.com/docs/services-databases/).
## License
This project is released under the terms of the Apache License 2.0.