Adding example for 3.x migration in the docs #6532
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
benchmark: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.7 | |
- uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: gems-build-rails-main-ruby-2.7-${{ hashFiles('**/Gemfile.lock') }} | |
- name: Run benchmarks | |
run: | | |
bundle config path vendor/bundle | |
bundle update | |
bundle exec rake partial_benchmark | |
bundle exec rake translatable_benchmark | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- rails_version: "6.1.4.4" | |
ruby_version: "3.0" | |
mode: "capture_patch_enabled" | |
- rails_version: "7.0.2.3" | |
ruby_version: "3.0" | |
mode: "capture_patch_enabled" | |
- rails_version: "main" | |
ruby_version: "3.1" | |
mode: "capture_patch_enabled" | |
- rails_version: "7.1.1" | |
ruby_version: "3.2" | |
mode: "capture_patch_enabled" | |
- rails_version: "main" | |
ruby_version: "3.2" | |
mode: "capture_patch_enabled" | |
- rails_version: "6.1.4.4" | |
ruby_version: "3.0" | |
mode: "capture_patch_disabled" | |
- rails_version: "7.0.2.3" | |
ruby_version: "3.0" | |
mode: "capture_patch_disabled" | |
- rails_version: "main" | |
ruby_version: "3.1" | |
mode: "capture_patch_disabled" | |
- rails_version: "7.1.1" | |
ruby_version: "3.2" | |
mode: "capture_patch_disabled" | |
- rails_version: "main" | |
ruby_version: "3.2" | |
mode: "capture_patch_disabled" | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby_version }} | |
- uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: gems-build-rails-${{ matrix.rails_version }}-ruby-${{ matrix.ruby_version }}-${{ hashFiles('**/Gemfile.lock') }} | |
- name: Build and test with Rake | |
run: | | |
bundle config path vendor/bundle | |
bundle update | |
# Code-reloading isn't compatible with simplecov, so we need to run once | |
# to collect coverage, and again to test reloads. | |
MEASURE_COVERAGE=true bundle exec rake test spec | |
ENABLE_RELOADING=true bundle exec rake test spec | |
env: | |
RAISE_ON_WARNING: 1 | |
RAILS_VERSION: ${{ matrix.rails_version }} | |
CAPTURE_PATCH_ENABLED: ${{ matrix.mode == 'capture_patch_enabled' && 'true' || 'false' }} | |
- name: Upload coverage results | |
uses: actions/[email protected] | |
if: always() | |
with: | |
name: simplecov-resultset-rails${{matrix.rails_version}}-ruby${{matrix.ruby_version}} | |
path: coverage | |
primer_view_components_compatibility: | |
name: Test compatibility with Primer ViewComponents (main) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
with: | |
repository: 'primer/view_components' | |
path: 'primer_view_components' | |
- uses: actions/[email protected] | |
with: | |
path: 'view_component' | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
vendor/bundle | |
key: gems-build-pvc-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/package-json.lock') }} | |
- name: Build and test with Rake | |
run: | | |
cd primer_view_components | |
npm ci | |
cd demo && npm ci && cd .. | |
bundle config path vendor/bundle | |
bundle install | |
bundle exec rake | |
env: | |
VIEW_COMPONENT_PATH: ../view_component | |
RAILS_VERSION: '7.1.1' | |
PARALLEL_WORKERS: '1' | |
coverage: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.7 | |
- name: Download coverage results | |
uses: actions/download-artifact@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: gems-build-rails-main-ruby-2.7-${{ hashFiles('**/Gemfile.lock') }} | |
- name: Collate simplecov | |
run: | | |
bundle config path vendor/bundle | |
bundle update | |
bundle exec rake coverage:report | |
env: | |
RAILS_VERSION: '~> 7.1.0' |