name: ci on: push: paths: - .github/workflows/ci.yml - lib/** - spec/** jobs: tests-mri: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: ["2.6.x", "2.5.x", "2.4.x"] dry_logic_from_master: ["true", "false"] include: - ruby: "2.6.x" dry_logic_from_master: "false" coverage: "true" steps: - uses: actions/checkout@v1 - name: Set up Ruby uses: actions/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} - name: Download test reporter if: "matrix.coverage == 'true'" run: | mkdir -p tmp/ curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./tmp/cc-test-reporter chmod +x ./tmp/cc-test-reporter ./tmp/cc-test-reporter before-build - name: Run all tests env: COVERAGE: ${{matrix.coverage}} DRY_LOGIC_FROM_MASTER: ${{matrix.dry_logic_from_master}} run: | gem install bundler bundle install --jobs 4 --retry 3 --without tools docs bundle exec rake - name: Send coverage results if: "matrix.coverage == 'true'" env: CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} GIT_COMMIT_SHA: ${{github.sha}} GIT_BRANCH: ${{github.ref}} GIT_COMMITTED_AT: ${{github.event.head_commit.timestamp}} run: | GIT_BRANCH=`ruby -e "puts ENV['GITHUB_REF'].split('/', 3).last"` \ GIT_COMMITTED_AT=`ruby -r time -e "puts Time.iso8601(ENV['GIT_COMMITTED_AT']).to_i"` \ ./tmp/cc-test-reporter after-build tests-others: runs-on: ubuntu-latest strategy: fail-fast: false matrix: image: ["jruby:9.2.8", "ruby:rc"] dry_logic_from_master: ["true", "false"] container: image: ${{matrix.image}} steps: - uses: actions/checkout@v1 - name: Install git run: | apt-get update apt-get install -y --no-install-recommends git - name: Run all tests env: DRY_LOGIC_FROM_MASTER: ${{matrix.dry_logic_from_master}} run: | gem install bundler bundle install --jobs 4 --retry 3 --without tools docs bundle exec rspec