Skip to content

Latest commit

 

History

History
100 lines (80 loc) · 1.87 KB

README.md

File metadata and controls

100 lines (80 loc) · 1.87 KB

Elixir

The following configuration requires the use of the Docker executor. It uses the latest available version of the elixir Docker image to run all tests, and depends on the latest postgres Docker image.

The build jobs that will be created are called: mix and credo. A list of cache paths has been globally defined, as well as the before_script that will run before each of the build job's own scripts.

---
image: elixir:latest

services:
- postgres:latest

cache:
  paths:
  - _build/
  - deps/

variables:
  MIX_ENV: test
  DATABASE_URL: postgres://postgres@postgres:5432/alloy_ci_test

before_script:
- mix local.hex --force
- mix local.rebar --force
- mix deps.get
- mix ecto.setup

mix:
  stage: test
  tags:
  - elixir
  - postgres
  script:
  - mix test

credo:
  stage: test
  tags:
  - elixir
  script:
  - mix credo

Ruby

This is the most basic configuration example for a Rails App. Since this configuration does not specify a Docker image, the Runner's default image will be used. If this default was not set to Ruby, the build job will fail.

---
Rspec Tests:
  script:
  - bundle install --path vendor/bundle
  - bundle exec rake db:setup
  - bundle exec rspec

A more complete example for a Rails App, that uses a full definition for Docker images, with entrypoint configuration, and aliases. The tests to be performed will be run against the PostgreSQL database and against the MySQL database, separately.

---
image:
  name: ruby:2.3
  entrypoint:
  - "/bin/bash"

services:
- name: postgres:latest
  alias: postgres-1
  command:
  - "/bin/sh"
- name: mysql:latest
  alias: mysql-1
  command:
  - "/bin/bash"

before_script:
- bundle install --path vendor/bundle

Rspec PostgreSQL:
  script:
  - bundle exec rake db:postgres:setup
  - bundle exec rspec

Rspec MySQL:
  script:
  - bundle exec rake db:mysql:setup
  - bundle exec rspec