summaryrefslogtreecommitdiff
path: root/.github/workflows/main.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/main.yml')
-rw-r--r--.github/workflows/main.yml95
1 files changed, 95 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..5149d9b
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,95 @@
+name: CI
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ danger:
+ runs-on: ubuntu-latest
+ if: ${{ github.event_name == 'pull_request' }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-ruby@v1
+ with:
+ ruby-version: 2.7
+ - uses: MeilCli/danger-action@v5
+ with:
+ danger_file: Dangerfile
+ danger_id: danger-pr
+ install_path: vendor/bundle
+ plugins_file: Gemfile
+ env:
+ DANGER_GITHUB_API_TOKEN: ${{ secrets.github_token }}
+
+ integration-test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ bundler-cache: true
+ ruby-version: 2.7
+ - name: Run integration tests
+ run: |
+ for dir in spec/integration/*; do
+ echo "testing $dir integration"
+ BUNDLE_GEMFILE=$dir/Gemfile bundle install --jobs 4 --retry 3
+ BUNDLE_GEMFILE=$dir/Gemfile bundle exec rspec $dir
+ done
+
+ test:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ ruby:
+ - 2.7
+ - 2.6
+ - 2.5
+ - 2.4
+ - 2.3
+ - 2.2
+ - 2.1
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ bundler-cache: true
+ ruby-version: ${{ matrix.ruby }}
+ - name: Install dependencies
+ run: bundle install --jobs 4 --retry 3
+ - name: Run tests
+ run: bundle exec rake
+
+ test-jruby:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ os:
+ - macos
+ - ubuntu
+ jruby:
+ - jruby
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ bundler-cache: true
+ ruby-version: ${{ matrix.jruby }}
+ - name: Install dependencies
+ env:
+ JRUBY_OPTS: --debug
+ run: bundle install --jobs 4 --retry 3
+ - name: Run tests
+ env:
+ JRUBY_OPTS: --debug
+ run: bundle exec rake