Skip to content

Commit

Permalink
add github actions (#5)
Browse files Browse the repository at this point in the history
Change-Id: I35c5a22f8902f746f1e4a2651c3221ae0bf7db17
  • Loading branch information
ccutrer committed Oct 12, 2023
1 parent a1dcc12 commit 9d03e93
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 0 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Continuous Integration

on:
push:
branches: [ main ]
pull_request:

jobs:
test:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
ruby-version: [2.7, "3.0", 3.1, 3.2]
lockfile: ['Gemfile.activerecord-6.1.lock', 'Gemfile.activerecord-7.0.lock', 'Gemfile.lock']

services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
rubygems: latest
bundler-cache: true
env:
BUNDLE_NO_PRUNE: true
- name: Run tests
run: bin/rake db:create db:migrate spec
env:
PGHOST: localhost
PGUSER: postgres
PGPASSWORD: postgres
BUNDLE_LOCKFILE: ${{ matrix.lockfile }}

lint:
runs-on: ubuntu-latest
env:
BUNDLE_LOCKFILE: "Gemfile.lock"

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
bundler-cache: true
- name: Run RuboCop
run: bin/rubocop
timeout-minutes: 2
1 change: 1 addition & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ AllCops:
Exclude:
- 'bin/*'
- 'gemfiles/*'
- 'vendor/**/*'

Bundler/DuplicatedGem:
Enabled: false
Expand Down
27 changes: 27 additions & 0 deletions bin/rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env ruby
# frozen_string_literal: true

#
# This file was generated by Bundler.
#
# The application 'rake' is installed as part of a gem, and
# this file is here to facilitate running it.
#

ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)

bundle_binstub = File.expand_path("bundle", __dir__)

if File.file?(bundle_binstub)
if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
load(bundle_binstub)
else
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
end
end

require "rubygems"
require "bundler/setup"

load Gem.bin_path("rake", "rake")

0 comments on commit 9d03e93

Please sign in to comment.