Docs additions #1428
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: Pagy CI | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
branches: ['**'] | |
jobs: | |
should_run: | |
name: Run or skip? | |
continue-on-error: true | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
# All of these options are optional, so you can remove them if you are happy with the defaults | |
concurrent_skipping: 'never' | |
skip_after_successful_duplicate: 'true' | |
paths_ignore: '["**/*.md", "**/docs/**", "lib/config/pagy.rb", "LICENSE.txt"]' | |
do_not_skip: '["workflow_dispatch", "schedule"]' | |
ruby_test: | |
needs: should_run | |
if: ${{ needs.should_run.outputs.should_skip != 'true' }} | |
name: Ruby ${{ matrix.ruby-version }} Test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby-version: ['3.1', '3.2', '3.3'] | |
fail-fast: false | |
env: | |
BUNDLE_GEMFILE: .github/gemfiles/default | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby-version }} | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: Check Tests | |
run: bundle exec rake test | |
- name: Check Coverage | |
run: bundle exec rake check_coverage | |
- name: Check Rubocop compliance | |
run: bundle exec rubocop --format github | |
- name: Check gem manifest | |
run: bundle exec rake manifest:check | |
e2e_test: | |
needs: should_run | |
if: ${{ needs.should_run.outputs.should_skip != 'true' }} | |
name: E2E Test | |
runs-on: ubuntu-latest | |
env: | |
# absolute path required to run sinatra for cypress in e2e working dir | |
BUNDLE_GEMFILE: /home/runner/work/pagy/pagy/.github/gemfiles/default | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.3' | |
bundler-cache: true | |
- name: Install Cypress and Test Dependencies | |
working-directory: ./e2e | |
run: npm i | |
- name: Run Cypress Tests | |
uses: cypress-io/[email protected] | |
with: | |
config: baseUrl=http://0.0.0.0:4567,video=false | |
start: bundle exec rackup -D -o 0.0.0.0 -p 4567 pagy_app.ru | |
install: false | |
wait-on: http://0.0.0.0:4567 | |
working-directory: e2e |