Skip to content

Commit

Permalink
👷 More workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
pboling committed Mar 22, 2024
1 parent 7a1ad7e commit 8e860bc
Show file tree
Hide file tree
Showing 4 changed files with 173 additions and 1 deletion.
63 changes: 63 additions & 0 deletions .github/workflows/heads.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Ruby Heads Matrix

env:
K_SOUP_COV_DO: false

on:
push:
branches:
- 'main'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
branches:
- '*'
# Allow manually triggering the workflow.
workflow_dispatch:

permissions:
contents: read

# 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: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
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
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
rubygems:
- latest
bundler:
- latest
gemfile:
- vanilla
ruby:
- head
- truffleruby-head
- jruby-head

steps:
- name: Checkout
uses: actions/checkout@v4

- 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 tests
run: bundle exec rake test
59 changes: 59 additions & 0 deletions .github/workflows/legacy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Legacy Ruby Support

on:
push:
branches:
- 'main'
- '*-stable'
- '*-dev'
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.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
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
strategy:
fail-fast: false
matrix:
experimental: [false]
rubygems:
- "2.7.11"
bundler:
- none
gemfile:
- vanilla
ruby:
- "3.0"
- "2.7"
- "2.6"
- "2.5"
- "2.4"
- "2.3"
runs-on: ubuntu-20.04
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 tests
run: bundle exec rake test
49 changes: 49 additions & 0 deletions .github/workflows/style.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# RuboCop Gradual isn't able to parse something in this repo.
# Not sure what exactly, and reported here:
# https://github.com/skryukov/rubocop-gradual/issues/12
# As a result this workflow must allow failure.
name: Ruby - Style

on:
push:
branches:
- 'main'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
pull_request:
branches:
- '*'

jobs:
rubocop:
name: RuboCop
strategy:
fail-fast: false
matrix:
experimental: [true]
rubygems:
- latest
bundler:
- latest
gemfile:
- style
ruby:
- "3.2"
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
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
steps:
- name: Checkout
uses: actions/checkout@v4
- 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 rake rubocop_gradual:check
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-stable'
- '*-dev'
tags:
- '!*' # Do not execute on tags
Expand Down Expand Up @@ -46,6 +46,7 @@ jobs:
- '3.2'
- '3.3'
- truffleruby
- jruby

steps:
- name: Checkout
Expand Down

0 comments on commit 8e860bc

Please sign in to comment.