debshots/.github/workflows/build.yml
Christoph Haas 8d9c88d2e2
Some checks failed
Build and Push Docker Image / build (push) Failing after 43s
ffs
2026-02-05 00:36:19 +01:00

78 lines
2 KiB
YAML

# This workflow will build and test the Rails application
name: Build and Test Rails Application
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: debshots_test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- name: Install Ruby
run: |
sudo apt-get update
sudo apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
~/.rbenv/plugins/ruby-build/install.sh
ruby-build 3.2.4 /opt/hostedtoolcache/Ruby/3.2.4/x64
touch /opt/hostedtoolcache/Ruby/3.2.4/x64.complete
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.x
- name: Install dependencies
run: |
gem install bundler
bundle install
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install Yarn
run: npm install -g yarn
- name: Install Node.js dependencies
run: yarn install
- name: Set up database
run: |
bundle exec rails db:create db:migrate
env:
RAILS_ENV: test
DATABASE_URL: postgres://postgres:postgres@localhost:5432/debshots_test
- name: Run tests
run: bundle exec rails test
env:
RAILS_ENV: test
DATABASE_URL: postgres://postgres:postgres@localhost:5432/debshots_test
- name: Build assets
run: bundle exec rails assets:precompile
env:
RAILS_ENV: production