Как настроить Github Actions для Rails с PostgreSQL
У меня есть пустой проект Rails 6 с PostgreSQL на GitHub, и я пытаюсь настроить GitHub Actions для запуска набора тестов Rails всякий раз, когда создается запрос на перенос.
Я пытался следовать этому руководству, но у меня почему-то не получается.
Трубопровод выходит из строя rails db:setup
и жалуется, что:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Мне кажется, что по какой-то причине приложение Rails не может должным образом найти службу PostgreSQL.
Это моя текущая конфигурация действий GitHub:
name: CI
on:
pull_request:
branches:
- '*'
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
ports:
- 5432:5432
env:
POSTGRES_USER: link_shortener
POSTGRES_PASSWORD: link_shortener
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@master
- name: Setup Ruby 2.7
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Setup Node 12
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: |
sudo apt-get -yqq install libpq-dev
bundle install
yarn
rails db:setup
# Clean up git repo so the new rails template doesn't conflict
- name: Remove git repo
run: |
rm -rf .git
- name: Run tests
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
run: |
rails t
А это моя конфигурация базы данных Rails:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: link_shortener_development
test:
<<: *default
host: localhost
database: link_shortener_test
username: link_shortener
password: link_shortener
production:
<<: *default
database: link_shortener_production
username: link_shortener
password: <%= ENV['LINK_SHORTENER_DATABASE_PASSWORD'] %>
При необходимости полный репозиторий GitHub находится по адресу: https://github.com/dusan-rychnovsky/link-shortener