Skip to content

rebuild JS from ground up, prep major version #303

rebuild JS from ground up, prep major version

rebuild JS from ground up, prep major version #303

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
name: test (${{ matrix.blacklight_version && format('bl {0} / ', matrix.blacklight_version) }}rails ${{ matrix.rails_version }} / rb ${{ matrix.ruby }} ${{ matrix.additional_name }})
strategy:
fail-fast: false
matrix:
# We have SEVERAL axes of difference we support.
#
# * Blacklight: 7, 8, or 9
# * Rails: 7 or 8
# * sprockets or propshaft(with cssbundling-rails sass)
# * importmap-rails or esbuild (each with sprockets or importmaps)
#
# We should work with almost every combo of these (even though BL itself
# doesn't officially support every one), but we don't test with every one,
# that'd be too much. Plus BL can't *generate* every one even though it
# can be made to work with every one. We test with some good significant
# representative samples.
include:
# BLACKLIGHT 8, can use esbuild(etc) or importmaps. Can use Rails 8 maybe at some point?
- rails_version: "7.2.1"
blacklight_version: "~> 8.0"
ruby: "3.3"
additional_name: "/ importmaps-rails, sprockets"
- rails_version: "7.2.1"
# need branch until an 8.x release that includes #3357
blacklight_version: >
{"git": "https://github.com/projectblacklight/blacklight.git", "branch": "release-8.x"}
ruby: "3.3"
additional_engine_cart_rails_options: "--javascript=esbuild --css=bootstrap -a propshaft"
additional_name: "/ esbuild, propshaft"
# the BL8 installer can't succesfully install BL8 with sprockets and esbuild,
# but if you set it up by hand it really should work here too. Note
# we are testing BL7 with esbuild and sprockets.
# BLACKLIGHT 7, only test with esbuild
- rails_version: "7.2.1"
blacklight_version: "~> 7.0"
ruby: "3.3"
additional_engine_cart_rails_options: "--javascript=esbuild"
additional_name: "/ esbuild, sprockets"
- rails_version: "7.2.1"
blacklight_version: "~> 7.0"
ruby: "3.3"
additional_engine_cart_rails_options: "--javascript=esbuild --css=bootstrap -a propshaft"
additional_name: "/ esbuild, propshaft"
- rails_version: "7.1.4"
blacklight_version: "~> 7.0"
ruby: "3.2"
additional_engine_cart_rails_options: "--javascript=esbuild"
additional_name: "/ esbuild, sprockets"
- rails_version: "7.0.8.4"
blacklight_version: "~> 7.0"
ruby: "3.1"
additional_engine_cart_rails_options: "--javascript=esbuild"
additional_name: "/ esbuild, sprockets"
env:
BLACKLIGHT_VERSION: ${{ matrix.blacklight_version || '~> 8.0' }}
RAILS_VERSION: ${{ matrix.rails_version }}
ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-listen --skip-spring --skip-keeps --skip-coffee --skip-test ${{ matrix.additional_engine_cart_rails_options }}"
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: "latest"
- name: Install dependencies
run: bundle install
- name: Run tests
run: bundle exec rake ci