.github/workflows/test.yml in cure_line-1.0.0 vs .github/workflows/test.yml in cure_line-1.0.1
- old
+ new
@@ -1,120 +1,89 @@
name: test
on:
push:
+ branches:
+ - master
+ pull_request:
+ types:
+ - opened
+ - synchronize
+ - reopened
schedule:
- - cron: "0 10 * * 4" # JST 19:00 (Fri)
+ - cron: "0 10 * * 5" # JST 19:00 (Fri)
env:
CI: "true"
jobs:
test:
- runs-on: ${{ matrix.runner }}
+ runs-on: ubuntu-latest
+ container: ${{ matrix.ruby }}
+
strategy:
fail-fast: false
matrix:
ruby:
- - 2.5.0
- - 2.6.0
- - 2.7.0
- - 2.8.0-dev
+ - ruby:2.5
+ - ruby:2.6
+ - ruby:2.7
+ - ruby:3.0
+ - rubylang/ruby:master-nightly-bionic
include:
- - ruby: 2.5.0
- runner: ubuntu-latest
- - ruby: 2.6.0
- runner: ubuntu-latest
- - ruby: 2.7.0
- runner: ubuntu-latest
- - ruby: 2.8.0-dev
- runner: ubuntu-latest
+ - ruby: rubylang/ruby:master-nightly-bionic
+ allow_failures: "true"
steps:
- uses: actions/checkout@v2
- - name: Set up rbenv
- uses: masa-iwasaki/setup-rbenv@1.1.0
- - name: Cache RBENV_ROOT
- uses: actions/cache@v1
- id: cache_rbenv
- with:
- path: ~/.rbenv/versions
- key: v1-rbenv-${{ runner.os }}-${{ matrix.ruby }}
- if: "!endsWith(matrix.ruby, '-dev')"
-
- - name: Reinstall libssl-dev
- run: |
- set -xe
- sudo apt-get remove -y libssl-dev
- sudo apt-get install -y libssl-dev=1.0.2g-1ubuntu4.15
- if: matrix.runner == 'ubuntu-16.04'
-
- - name: Install Ruby
- run: |
- set -xe
- eval "$(rbenv init -)"
- rbenv install -s $RBENV_VERSION
-
- gem install bundler --no-document -v 1.17.3 || true
- env:
- RBENV_VERSION: ${{ matrix.ruby }}
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
-
- - name: Generate unique cache key
- run: uuidgen > uuid.txt
-
- name: Cache vendor/bundle
uses: actions/cache@v1
id: cache_gem
with:
path: vendor/bundle
- key: v1-gem-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles('uuid.txt') }}
+ key: v1-gem-${{ runner.os }}-${{ matrix.ruby }}-${{ github.sha }}
restore-keys: |
v1-gem-${{ runner.os }}-${{ matrix.ruby }}-
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
- name: bundle update
run: |
set -xe
- eval "$(rbenv init -)"
bundle config path vendor/bundle
bundle update --jobs $(nproc) --retry 3
- env:
- RBENV_VERSION: ${{ matrix.ruby }}
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
- name: Setup Code Climate Test Reporter
uses: aktions/codeclimate-test-reporter@v1
with:
codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
command: before-build
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
+ if: matrix.ruby >= 'ruby:2.4'
+ continue-on-error: true
- name: Run test
run: |
set -xe
- eval "$(rbenv init -)"
bundle exec rspec
- env:
- RBENV_VERSION: ${{ matrix.ruby }}
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
- name: Teardown Code Climate Test Reporter
uses: aktions/codeclimate-test-reporter@v1
with:
codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
command: after-build
- if: always()
- continue-on-error: ${{ endsWith(matrix.ruby, '-dev') }}
+ if: matrix.ruby >= 'ruby:2.4' && always()
+ continue-on-error: true
- name: Slack Notification (not success)
- uses: homoluctus/slatify@v2.0.0
+ uses: lazy-actions/slatify@master
if: "! success()"
+ continue-on-error: true
with:
job_name: ${{ format('*build* ({0})', matrix.ruby) }}
type: ${{ job.status }}
icon_emoji: ":octocat:"
url: ${{ secrets.SLACK_WEBHOOK }}
@@ -126,11 +95,12 @@
runs-on: ubuntu-latest
steps:
- name: Slack Notification (success)
- uses: homoluctus/slatify@v2.0.0
+ uses: lazy-actions/slatify@master
if: always()
+ continue-on-error: true
with:
job_name: '*build*'
type: ${{ job.status }}
icon_emoji: ":octocat:"
url: ${{ secrets.SLACK_WEBHOOK }}