Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup testing similar to dartsass-rails #187

Closed
wants to merge 13 commits into from
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI
on: [push, pull_request]
jobs:
tests:
strategy:
fail-fast: false
matrix:
ruby: [ "3.0", "3.1", "3.2", "3.3" ]
gemfile:
- Gemfile
- gemfiles/rails_7_0_propshaft.gemfile
- gemfiles/rails_7_1_propshaft.gemfile
- gemfiles/rails_main_propshaft.gemfile
- gemfiles/rails_7_0_sprockets.gemfile
- gemfiles/rails_7_1_sprockets.gemfile
- gemfiles/rails_main_sprockets.gemfile
exclude:
- ruby: "3.0"
gemfile: gemfiles/rails_main_propshaft.gemfile
- ruby: "3.0"
gemfile: gemfiles/rails_main_sprockets.gemfile

continue-on-error: [ false ]

name: ${{ format('Tests (Ruby {0}, {1})', matrix.ruby, matrix.gemfile) }}
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.continue-on-error }}

env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
BUNDLE_PATH: "vendor/bundle-${{ matrix.gemfile }}"

steps:
- uses: actions/checkout@v4

- name: Remove Gemfile lock
run: |
rm -f $BUNDLE_GEMFILE.lock

- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: false

- name: Install dependencies
run: |
bundle install --jobs 4 --retry 3

- uses: actions/setup-node@v4
- uses: oven-sh/setup-bun@v1

- name: Run tests
run: |
bundle exec rake
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
/.bundle/
.byebug_history
*.gem
/tmp/
/node_modules
**/tmp/

# Ignore Gemfile.lock files for Rails main branch.
/gemfiles/rails_main*.gemfile.lock
29 changes: 29 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
appraise "rails_7_0_sprockets" do
gem "rails", "~> 7.0.0"
gem "sprockets-rails"
end

appraise "rails_7_0_propshaft" do
gem "rails", "~> 7.0.0"
gem "propshaft"
end

appraise "rails_7_1_sprockets" do
gem "rails", "~> 7.1.0"
gem "sprockets-rails"
end

appraise "rails_7_1_propshaft" do
gem "rails", "~> 7.1.0"
gem "propshaft"
end

appraise "rails_main_sprockets" do
gem "rails", github: "rails/rails", branch: "main"
gem "sprockets-rails"
end

appraise "rails_main_propshaft" do
gem "rails", github: "rails/rails", branch: "main"
gem "propshaft"
end
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

# Specify your gem's dependencies in importmap-rails.gemspec.
# Specify your gem's dependencies in jsbundling-rails.gemspec.
gemspec

rails_version = ENV["RAILS_VERSION"] || "6.1.0"
gem "rails", "~> #{rails_version}"

gem "sqlite3"
gem "appraisal"
gem "debug", ">= 1.0.0"

group :test do
gem "turbo-rails"
Expand Down
Loading