Skip to content

πŸ’š ci(fix): fixed ruby on rails postgresql error #195

πŸ’š ci(fix): fixed ruby on rails postgresql error

πŸ’š ci(fix): fixed ruby on rails postgresql error #195

Workflow file for this run

name: "Ruby on Rails CI"
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
test:
runs-on: ${{ matrix.os }}
services:
postgres:
image: postgres:14-alpine # Use PostgreSQL 14 for both runners
ports:
- "5432:5432"
env:
POSTGRES_DB: rails_test
POSTGRES_USER: rails
POSTGRES_PASSWORD: password
strategy:
matrix:
os: [ubuntu-latest, macos-latest] # Specify both Ubuntu and macOS
env:
RAILS_ENV: test
DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
steps:
- name: Checkout code
uses: actions/checkout@v3
# Conditional step for installing PostgreSQL client libraries on Ubuntu
- name: Install PostgreSQL Client on Ubuntu
if: runner.os == 'Linux' # This will only run on the Ubuntu runner
run: sudo apt-get install -y postgresql-client-14 libpq-dev
# Conditional step for installing PostgreSQL on macOS
- name: Install PostgreSQL Client on macOS
if: runner.os == 'macOS' # This will only run on the macOS runner
run: |
brew install postgresql@14
brew link --force postgresql@14
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Set up database schema
run: bin/rails db:schema:load
- name: Run tests
run: bundle exec rspec
lint:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
# Add other lints and security checks as needed
- name: Security audit dependencies
run: bundle exec bundler-audit --update
- name: Security audit application code
run: bundle exec brakeman -q -w2
- name: Lint Ruby files
run: bundle exec rubocop --parallel