Skip to content

Commit

Permalink
Add GitHub Workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
sikachu committed May 10, 2024
1 parent d92aeb6 commit 6bcc98a
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 8 deletions.
106 changes: 106 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: tests

on: [push, pull_request]

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- ruby: "2.4"
rails: ~> 4.2.0
bundler: 1.17.3
- ruby: "2.4"
rails: ~> 5.0.0
- ruby: "2.4"
rails: ~> 5.1.0
- ruby: "2.4"
rails: ~> 5.2.0

- ruby: "2.5"
rails: ~> 5.0.0
- ruby: "2.5"
rails: ~> 5.1.0
- ruby: "2.5"
rails: ~> 5.2.0
- ruby: "2.5"
rails: ~> 6.0.0
- ruby: "2.5"
rails: ~> 6.1.0

- ruby: "2.6"
rails: ~> 5.0.0
- ruby: "2.6"
rails: ~> 5.1.0
- ruby: "2.6"
rails: ~> 5.2.0
- ruby: "2.6"
rails: ~> 6.0.0
- ruby: "2.6"
rails: ~> 6.1.0

- ruby: "2.7"
rails: ~> 5.0.0
- ruby: "2.7"
rails: ~> 5.1.0
- ruby: "2.7"
rails: ~> 5.2.0
- ruby: "2.7"
rails: ~> 6.0.0
- ruby: "2.7"
rails: ~> 6.1.0
- ruby: "2.7"
rails: ~> 7.0.0
- ruby: "2.7"
rails: ~> 7.1.0

- ruby: "3.0"
rails: ~> 6.0.0
- ruby: "3.0"
rails: ~> 6.1.0
- ruby: "3.0"
rails: ~> 7.0.0
- ruby: "3.0"
rails: ~> 7.1.0

- ruby: "3.1"
rails: ~> 6.0.0
- ruby: "3.1"
rails: ~> 6.1.0
- ruby: "3.1"
rails: ~> 7.0.0
- ruby: "3.1"
rails: ~> 7.1.0
- ruby: "3.1"
rails: edge

- ruby: "3.2"
rails: ~> 6.0.0
- ruby: "3.2"
rails: ~> 6.1.0
- ruby: "3.2"
rails: ~> 7.0.0
- ruby: "3.2"
rails: ~> 7.1.0
- ruby: "3.2"
rails: edge

- ruby: head
rails: ~> 7.1.0
- ruby: head
rails: edge

env:
RAILS_VERSION: ${{ matrix.rails }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: ${{ matrix.bundler }}
- name: Run bundle update
run: bundle update
- name: Run tests
run: bin/rake
13 changes: 7 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
source "https://rubygems.org"

# rubocop:disable Bundler/DuplicatedGem
if ENV["RAILS_VERSION"]
gem "rails", ENV["RAILS_VERSION"]
elsif ENV["RAILS_BRANCH"]
gem "rails", git: "https://github.com/rails/rails.git", branch: ENV["RAILS_BRANCH"]
if ENV["RAILS_VERSION"] == "edge"
gem "rails", git: "https://github.com/rails/rails.git", branch: "main"
end

# Lock loofah to old version for Ruby 2.4
unless RUBY_VERSION > "2.5"
gem "loofah", "~> 2.20.0"
end
# rubocop:enable Bundler/DuplicatedGem

gemspec
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")
7 changes: 6 additions & 1 deletion omniauth-rails_csrf_protection.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ Gem::Specification.new do |spec|

spec.add_development_dependency "bundler"
spec.add_development_dependency "minitest"
spec.add_development_dependency "rails"

# We set requirement for Edge Rails in the Gemfile
unless ENV["RAILS_VERSION"] == "edge"
spec.add_development_dependency "rails", ENV["RAILS_VERSION"]
end

spec.add_development_dependency "rake"
end
7 changes: 6 additions & 1 deletion test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@ def silence_warnings
gemfile do
source "https://rubygems.org"

gem "rails"
if ENV["RAILS_VERSION"] == "edge"
gem "rails", git: "https://github.com/rails/rails.git", branch: "main"
else
gem "rails"
end

gem "omniauth"
gem "omniauth-rails_csrf_protection", path: File.expand_path("..", __dir__)
end
Expand Down

0 comments on commit 6bcc98a

Please sign in to comment.