2.11 Rails application testing example
You can run the tests for a Rails that requires a specific version of ruby and relies on a Postgres database.
Pipeline Configuration
---
resources:
- name: rails-contributors-git
type: git
icon: github
source:
uri: https://github.com/rails/rails-contributors.git
task-config: &task-config
platform: linux
inputs:
- name: rails-contributors-git
params:
RAILS_ENV: test
DATABASE_URL: postgresql://postgres@localhost
run:
path: /bin/bash
args:
- -c
- |
echo "=== Setting up Postgres..."
apt-get update
apt-get install -y postgresql libpq-dev cmake nodejs
cat > /etc/postgresql/*/main/pg_hba.conf <<-EOF
host all postgres localhost trust
EOF
service postgresql restart
echo "=== Project requires that we clone rails... "
cd rails-contributors-git
git clone --mirror https://github.com/rails/rails
echo "=== Installing Gems..."
gem install -N bundler
bundle install
echo "=== Running Tests..."
bundle exec rails db:setup
bundle exec rails test
jobs:
- name: test
public: true
plan:
- get: rails-contributors-git
trigger: true
- task: run-tests
config:
image_resource:
type: registry-image
source: { repository: ruby, tag: 2.6.5 }
<< : *task-config