Skip to content

Merge pull request #130 from JudahSan/FT/rails8 #248

Merge pull request #130 from JudahSan/FT/rails8

Merge pull request #130 from JudahSan/FT/rails8 #248

Workflow file for this run

name: Arc Platform CI Workflow
on: [push, pull_request]
jobs:
linters:
name: RuboCop Linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Setup Ruby 3.4.4
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4.4' # Not needed with a .ruby-version file
bundler-cache: true
- run: bundle exec rubocop
test:
name: Rails Test
runs-on: ubuntu-latest
services:
db:
image: postgres:11@sha256:85d79cba2d4942dad7c99f84ec389a5b9cc84fb07a3dcd3aff0fb06948cdc03b
ports: ['5432:5432']
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v5
- name: Setup Ruby 3.4.4
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4.4' # Not needed with a .ruby-version file
bundler-cache: true
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Find yarn cache location
id: yarn-cache
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- name: JS package cache
uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install packages
run: |
yarn install --pure-lockfile
- name: Build JS and CSS assets
run: |
bin/rails javascript:build
bin/rails css:build
- name: Setup database
env:
DATABASE_URL: postgres://postgres:@localhost:5432/test
RAILS_ENV: test
RAILS_MASTER_KEY: ${{ secrets.RAILS_TEST_MASTER_KEY }}
run: |
bundle exec rails db:create
bundle exec rails db:schema:load
- name: Run tests
env:
DATABASE_URL: postgres://postgres:@localhost:5432/test
RAILS_ENV: test
RAILS_MASTER_KEY: ${{ secrets.RAILS_TEST_MASTER_KEY }}
run: bundle exec rails test