Actions

A work in progress project that will contain all the shared GitHub actions that can be used across projects.

This is unreleased and under construction! I would advise against using any of these until they have been tagged with a version.

Usage

This is not guaranteed to work, but this is what worked for me previously.

name: "Ruby on Rails CI"
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  test:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:11-alpine
        ports:
          - "5432:5432"
        env:
          POSTGRES_DB: rails_test
          POSTGRES_USER: rails
          POSTGRES_PASSWORD: password
    env:
      RAILS_ENV: test
      DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      # Add or replace dependency steps here
      - name: Setup Ruby
        uses: andrewmcodes/actions/setup-ruby@main
      # Add or replace database setup steps here
      - name: Set up database schema
        run: bin/rails db:schema:load
      # Add or replace test runners here
      - name: Run tests
        run: bin/rake

  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Setup Ruby
        uses: andrewmcodes/actions/setup-ruby@main

      - name: Bundler Audit
        uses: andrewmcodes/actions/bundler-audit@main

      - name: Brakeman
        uses: andrewmcodes/actions/brakeman@main

      - name: Standard
        uses: andrewmcodes/actions/standard@main