add favicon to fix flaky tests (#2082) #7043
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: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
benchmark: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
bundler-cache: true | |
- name: Run benchmarks | |
run: | | |
bundle exec rake partial_benchmark | |
bundle exec rake translatable_benchmark | |
test: | |
name: test (${{ matrix.rails_version }}, ${{ matrix.ruby_version }}, ${{ matrix.mode }}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- ruby_version: "3.0" | |
rails_version: "6.1" | |
mode: "capture_patch_enabled" | |
- ruby_version: "3.0" | |
rails_version: "6.1" | |
mode: "capture_patch_disabled" | |
- ruby_version: "3.1" | |
rails_version: "7.0" | |
mode: "capture_patch_enabled" | |
- ruby_version: "3.1" | |
rails_version: "7.0" | |
mode: "capture_patch_disabled" | |
- ruby_version: "3.2" | |
rails_version: "7.1" | |
mode: "capture_patch_enabled" | |
- ruby_version: "3.2" | |
rails_version: "7.1" | |
mode: "capture_patch_disabled" | |
- ruby_version: "3.3" | |
rails_version: "7.2" | |
mode: "capture_patch_disabled" | |
- ruby_version: "3.3" | |
rails_version: "7.2" | |
mode: "capture_patch_enabled" | |
- ruby_version: "head" | |
rails_version: "main" | |
mode: "capture_patch_disabled" | |
- ruby_version: "head" | |
rails_version: "main" | |
mode: "capture_patch_enabled" | |
env: | |
BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails_version }}.gemfile | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby_version }} | |
bundler-cache: true | |
- name: Build and test with Rake | |
# Code-reloading isn't compatible with simplecov, so we need to run once | |
# to collect coverage, and again to test reloads. | |
run: | | |
bundle exec appraisal rails-${{ matrix.rails_version }} bundle | |
MEASURE_COVERAGE=true bundle exec appraisal rails-${{ matrix.rails_version }} rake | |
ENABLE_RELOADING=true bundle exec appraisal rails-${{ matrix.rails_version }} rake | |
env: | |
RAISE_ON_WARNING: 1 | |
RAILS_VERSION: ${{ matrix.rails_version }} | |
RUBY_VERSION: ${{ matrix.ruby_version }} | |
CAPTURE_PATCH_ENABLED: ${{ matrix.mode == 'capture_patch_enabled' && 'true' || 'false' }} | |
- name: Upload coverage results | |
uses: actions/upload-artifact@v3.1.3 | |
if: always() | |
with: | |
name: simplecov-resultset-rails${{matrix.rails_version}}-ruby${{matrix.ruby_version}}-${{matrix.mode}} | |
path: coverage | |
primer_view_components_compatibility: | |
name: Test compatibility with Primer ViewComponents (main) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
with: | |
repository: 'primer/view_components' | |
path: 'primer_view_components' | |
- uses: actions/checkout@v4.1.1 | |
with: | |
path: 'view_component' | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
bundler-cache: true | |
working-directory: 'view_component' | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: 'npm' | |
cache-dependency-path: 'primer_view_components/package-lock.json' | |
- name: Build and test with Rake | |
run: | | |
cd primer_view_components | |
npm ci | |
cd demo && npm ci && cd .. | |
bundle && 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/checkout@v4.1.1 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.3 | |
bundler-cache: true | |
- name: Download coverage results | |
uses: actions/download-artifact@v3 | |
- name: Collate simplecov | |
run: | | |
bundle exec rake coverage:report |