Created
May 16, 2023 15:04
-
-
Save pboling/61a8b8b3e4253e33edf954959789ad4c to your computer and use it in GitHub Desktop.
GH Actions for Legacy Rubies
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: Legacy Ruby Support | |
on: | |
push: | |
branches: | |
- 'main' | |
- '*-maintenance' | |
- '*-dev' | |
- '*-stable' | |
tags: | |
- '!*' # Do not execute on tags | |
pull_request: | |
branches: | |
- '*' | |
# Allow manually triggering the workflow. | |
workflow_dispatch: | |
# Cancels all previous workflow runs for the same branch that have not yet completed. | |
concurrency: | |
# The concurrency group contains the workflow name and the branch name. | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Ruby ${{ matrix.ruby }} ${{matrix.gemfile}} ${{ matrix.name_extra || '' }} | |
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps | |
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile | |
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')" | |
strategy: | |
fail-fast: false | |
matrix: | |
experimental: [false] | |
gemfile: | |
- vanilla | |
- rails4 | |
rubygems: | |
- "2.7.11" | |
bundler: | |
- none | |
ruby: | |
- "1.9" | |
- "2.0" | |
- "2.1" | |
- "2.2" | |
- "2.3" | |
- "2.4" | |
- "2.5" | |
- "2.6" | |
runs-on: ubuntu-latest | |
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Ruby & Bundle | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
rubygems: ${{ matrix.rubygems }} | |
bundler: ${{ matrix.bundler }} | |
bundler-cache: true | |
- name: Run RuboCop | |
run: bundle exec rubocop -DES | |
- name: Run RuboCop for 1.8.7 | |
run: bundle exec rubocop -DES --config ${{ github.workspace }}/config/ruby1_8.yml | |
- name: Run tests | |
run: bundle exec rake test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment