diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..969b6a83 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: + - package-ecosystem: bundler + directory: "/" + schedule: + interval: daily + time: "04:30" + open-pull-requests-limit: 10 \ No newline at end of file diff --git a/.github/workflows/supported.yml b/.github/workflows/supported.yml new file mode 100644 index 00000000..87a579c5 --- /dev/null +++ b/.github/workflows/supported.yml @@ -0,0 +1,57 @@ +name: Supported Rubies + +on: + push: + branches: + - master + - '*-maintenance' + - '*-dev' + tags: + - '!*' # Do not execute on tags + pull_request: + branches: + - '*' + +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]')" + strategy: + fail-fast: false + matrix: + ruby: + - truffleruby-head + - ruby-head + - 3.0 + - 2.7 + - 2.6 + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.allow_failure || endsWith(matrix.ruby, 'head') }} + steps: + - uses: amancevice/setup-code-climate@v0 + name: CodeClimate Install + if: matrix.ruby == '2.6' && github.event_name != 'pull_request' + with: + cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }} + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Ruby & Bundle + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: CodeClimate Pre-build Notification + run: cc-test-reporter before-build + if: matrix.ruby == '2.6' && github.event_name != 'pull_request' + continue-on-error: ${{ matrix.allow_failures != 'false' }} + - name: Run tests + run: bundle exec rake test + - uses: codecov/codecov-action@v2 + with: + flags: unittests + name: codecov-upload + fail_ci_if_error: true + - name: CodeClimate Post-build Notification + run: cc-test-reporter after-build + if: matrix.ruby == '2.6' && github.event_name != 'pull_request' && always() + continue-on-error: ${{ matrix.allow_failures != 'false' }} diff --git a/.github/workflows/unsupported.yml b/.github/workflows/unsupported.yml new file mode 100644 index 00000000..0c346b4a --- /dev/null +++ b/.github/workflows/unsupported.yml @@ -0,0 +1,37 @@ +name: Unsupported Rubies + +on: + push: + branches: + - master + - '*-maintenance' + - '*-dev' + tags: + - '!*' # Do not execute on tags + pull_request: + branches: + - '*' + +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]')" + strategy: + fail-fast: false + matrix: + ruby: + - 2.5 + - 2.4 + - 2.3 + runs-on: ubuntu-18.04 + continue-on-error: ${{ matrix.allow_failure || endsWith(matrix.ruby, 'head') }} + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Ruby & Bundle + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Run tests + run: bundle exec rake test diff --git a/.simplecov b/.simplecov new file mode 100644 index 00000000..94a1c1e8 --- /dev/null +++ b/.simplecov @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +SimpleCov.start do + add_filter "/spec/" +end diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4495e412..00000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: ruby - -rvm: -- "ruby-head" -- "2.7" -- "2.6" -- "2.5" -- "2.4" -- "2.3" -- "2.2" -matrix: - allow_failures: - - rvm: "ruby-head" -addons: - code_climate: - repo_token: 8f697ca756250f0c2c54170ae27e8a9c459d18a0236903b11291c88291b3aac9 - -after_success: - - bundle exec codeclimate-test-reporter diff --git a/oauth.gemspec b/oauth.gemspec index 84597698..7cd88a3e 100644 --- a/oauth.gemspec +++ b/oauth.gemspec @@ -45,7 +45,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency("em-http-request", "~> 1.1.7") spec.add_development_dependency("curb") spec.add_development_dependency("webmock", "< 2.0") - spec.add_development_dependency("codeclimate-test-reporter") - spec.add_development_dependency("simplecov") spec.add_development_dependency("rest-client") + spec.add_development_dependency("simplecov") + spec.add_development_dependency("simplecov-cobertura", "~> 1.4") end diff --git a/test/test_helper.rb b/test/test_helper.rb index fe77743a..cae9399e 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -2,10 +2,10 @@ ENV['RACK_ENV'] = 'test' -# simplecov, Travis will call codeclimate - -require 'simplecov' -SimpleCov.start +# Code coverage +require "simplecov" +require "simplecov-cobertura" +SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter unless ENV["HTML_COVERAGE"] == "true" # require third-party code