diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 34a86ddb8e..ed8dcaf69e 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -7,18 +7,59 @@ on: branches: [ master ] jobs: - build: + setup: runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby 3.0 and install dependencies + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0.1 + bundler-cache: true + - name: Compile + run: | + bundle exec rake precompile:spec + - name: Cache + uses: actions/cache@v2 + with: + path: | + build + public + key: Cache-${{ github.sha }} + RuboCop: + needs: setup + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Set up Ruby 3.0 - uses: actions/setup-ruby@v1 + - name: Set up Ruby 3.0 and install dependencies + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0.1 + bundler-cache: true + - name: RuboCop + run: | + bundle exec rubocop + + Spec1: + needs: setup + runs-on: ubuntu-latest + name: Test + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby 3.0 and install dependencies + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0.1 + bundler-cache: true + - name: Cache + uses: actions/cache@v2 with: - ruby-version: 3.0.x - - name: Build and test with Rake + path: | + build + public + key: Cache-${{ github.sha }} + - name: Test Thing run: | - gem install bundler - bundle install --jobs 4 --retry 3 - bundle exec rake + bundle exec rspec spec/assets_spec.rb diff --git a/Rakefile b/Rakefile index 9a5bba442b..32e41b72d1 100644 --- a/Rakefile +++ b/Rakefile @@ -109,6 +109,12 @@ task :precompile do assets.clean_intermediate_output_files end +task :'precompile:spec' do + require_relative 'lib/assets' + assets = Assets.new(compress: false, gzip: false, cache: true, precompiled: false) + assets.combine +end + desc 'Profile loading data' task 'stackprof', [:json] do |_task, args| require 'stackprof'