Sha256: e2f34f035d9ef164270d3390851c02ddf152cdea602073aa5caeac29cd07d7ce

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

class Recipes::Ci < Rails::AppBuilder
  def create
    if get(:heroku)
      copy_file '../assets/Dockerfile.ci', 'Dockerfile.ci'
      copy_file '../assets/circle.yml', 'circle.yml'

      template '../assets/bin/cibuild.erb', 'bin/cibuild'
      run "chmod a+x bin/cibuild"

      copy_file '../assets/docker-compose.ci.yml', 'docker-compose.ci.yml'

      gather_gems(:test) do
        gather_gem 'rspec_junit_formatter', '0.2.2'
      end

      compose = DockerHelpers.new('docker-compose.ci.yml')

      if selected?(:database, :mysql)
        service = <<-YAML
          image: "mysql:5.6.23"
          environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
        YAML
        compose.add_service("mysql", service)
        compose.add_link('test', 'mysql')
        compose.add_env('test', 'MYSQL_HOST', 'mysql')
        compose.add_env('test', 'MYSQL_PORT', '3306')

      elsif selected?(:database, :postgresql)
        service = <<-YAML
          image: "postgres:9.4.5"
          environment:
            POSTGRES_USER: postgres
            POSTGRES_PASSWORD: ''
        YAML
        compose.add_service("postgresql", service)
        compose.add_link('test', 'postgresql')
        compose.add_env('test', 'POSTGRESQL_USER', 'postgres')
        compose.add_env('test', 'POSTGRESQL_HOST', 'postgresql')
        compose.add_env('test', 'POSTGRESQL_PORT', '5432')
      end

      add_readme_header :ci
    end

    uglifier = "  config.assets.js_compressor = :uglifier\n"
    insert_into_file 'config/environments/test.rb', uglifier, after: "configure do\n"
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
potassium-5.1.4 lib/potassium/recipes/ci.rb
potassium-5.1.3 lib/potassium/recipes/ci.rb
potassium-5.1.2 lib/potassium/recipes/ci.rb
potassium-5.1.1 lib/potassium/recipes/ci.rb