From 30a5a77e3ca3ceeadbcc34b202a97466ba6998c2 Mon Sep 17 00:00:00 2001 From: Walt Jones Date: Fri, 6 Nov 2020 08:34:39 -0500 Subject: [PATCH] chore: initial github ci --- .github/workflows/ci.yml | 100 +++++++++++++++ .travis.yml | 268 --------------------------------------- 2 files changed, 100 insertions(+), 268 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..715b9107 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,100 @@ +name: Rollbar-gem CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-16.04 + strategy: + matrix: + ruby-version: [2.2.10, 2.3.0, 2.3.8, 2.4.5, 2.5.3, 2.6.0] + gemfile: + - gemfiles/rails42.gemfile + - gemfiles/rails50.gemfile + - gemfiles/rails51.gemfile + - gemfiles/rails52.gemfile + - gemfiles/rails60.gemfile + exclude: + - gemfile: gemfiles/rails42.gemfile + ruby-version: 2.6.0 + - gemfile: gemfiles/rails52.gemfile + ruby-version: 2.2.10 + - gemfile: gemfiles/rails60.gemfile + ruby-version: 2.2.10 + - gemfile: gemfiles/rails60.gemfile + ruby-version: 2.3.0 + - gemfile: gemfiles/rails60.gemfile + ruby-version: 2.3.8 + - gemfile: gemfiles/rails60.gemfile + ruby-version: 2.4.5 + include: + - gemfile: gemfiles/rails41.gemfile + ruby-version: 2.3.0 + - gemfile: gemfiles/rails41.gemfile + ruby-version: 2.2.10 + - gemfile: gemfiles/rails41.gemfile + ruby-version: 2.1.9 + #- gemfile: gemfiles/rails41.gemfile + # ruby-version: 2.0.0 + - gemfile: gemfiles/rails40.gemfile + ruby-version: 2.3.0 + - gemfile: gemfiles/rails40.gemfile + ruby-version: 2.2.10 + - gemfile: gemfiles/rails40.gemfile + ruby-version: 2.1.9 + #- gemfile: gemfiles/rails40.gemfile + # ruby-version: 2.0.0 + - gemfile: gemfiles/rails32.gemfile + ruby-version: 2.2.10 + - gemfile: gemfiles/rails32.gemfile + ruby-version: 2.1.9 + - gemfile: gemfiles/rails31.gemfile + ruby-version: 2.0.0 + - gemfile: gemfiles/rails30.gemfile + ruby-version: 2.0.0 + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Start Redis + uses: supercharge/redis-github-action@1.1.0 + with: + redis-version: 4 + + - name: Setup Ruby > 2.0 + uses: ruby/setup-ruby@v1 + if: ${{ matrix.ruby-version != '2.0.0' }} + with: + ruby-version: ${{ matrix.ruby-version }} + + - name: Setup Ruby 2.0.0 + if: ${{ matrix.ruby-version == '2.0.0' }} + run: | + sudo apt-get update -y + sudo apt-get install -y libssl1.0.0-dev + wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz + tar xvfz ruby-2.0.0-p648.tar.gz + cd ruby-2.0.0-p648 + ./configure && make && sudo make install + + - name: Bundler Version + if: ${{ matrix.gemfile == 'gemfiles/rails42.gemfile' }} + run: | + gem uninstall bundler + gem install bundler -v '< 2.0.0' + + - name: Bundle Install + run: | + export BUNDLE_GEMFILE=${{ matrix.gemfile }} + bundle config path vendor/bundle + bundle config gemfile ${{ matrix.gemfile }} + bundle install --jobs 4 --retry 3 + + - name: Rspec + run: bundle exec rspec diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3c20c382..00000000 --- a/.travis.yml +++ /dev/null @@ -1,268 +0,0 @@ -sudo: false -dist: trusty -services: - - redis-server -language: ruby - -rvm: - - 2.0.0 - - 2.1.0 - - 2.2.2 - - 2.3.8 - - 2.4.5 - - 2.5.3 - - 2.6.5 - - 2.7.0 - - rbx - # Travis's own rvm installer is failing on JRuby builds, TODO: reenable when fixed. - # - jruby-9.1.9.0 - - # - # # About legacy JRuby - # - # Legacy JRubies (jruby-18mode, jruby-19mode) have been disabled for some time by - # listing all possible targets in either the exclude or allow_failures sections. - # I have taken a look at getting them running, and have found that no valid - # combination of dependencies is possible for Rails 3.0 and higher. It appears - # Rails 2.2 is meant to work, though I haven't tried it. - # - # For Rails 3.0, it is possible to get a working bundle with all gem dependencies, - # but the JDBC adapter gem needs an earlier version of ActiveSupport, and it will - # fail at runtime. - # - # For Rails 3.1 and 3.2, Rack 1.3.x and higher require Ruby 2.x, while Rails 3.x will - # not accept any 1.2.x version of Rack. Even if this could be resolved, one would - # hit the above runtime issue amyway. - # - # # About current JRuby - # - # While current JRuby builds aim to be Ruby 2.5.x compatible, the JDBC adapter - # gem is constrained to only Rails 5.0, 5.1 and 5.2 at this time. (Old versions - # of the gem allow >= Rails 2.2, but in practice it will not work with Rails 3.0 - # and higher because of the ActiveSupport issue described above.) For as long as - # the test suite relies on Rails and SqlLite, it is not possible to include - # earlier Rails for JRuby. - -jdk: - # These are the JDKs currently supported on Travis (Trusty - Ubuntu 14.04) - - openjdk7 - - openjdk8 - - oraclejdk8 - - oraclejdk9 -gemfile: - - gemfiles/rails30.gemfile - - gemfiles/rails31.gemfile - - gemfiles/rails32.gemfile - - gemfiles/rails40.gemfile - - gemfiles/rails41.gemfile - - gemfiles/rails42.gemfile - - gemfiles/rails50.gemfile - - gemfiles/rails51.gemfile - - gemfiles/rails52.gemfile - - gemfiles/rails60.gemfile -matrix: - include: [] - - allow_failures: - - rvm: ruby-head - - rvm: jruby-head - # oraclejdk9 has a dependency issue that needs to be investigated - - jdk: oraclejdk9 - - exclude: - # Don't run tests for non-jruby environments with the JDK. - # NOTE: openjdk7 is missing from these exclusions so that Travis will run at least 1 build for the given rvm. - - rvm: 2.0.0 - jdk: openjdk8 - - rvm: 2.0.0 - jdk: oraclejdk8 - - rvm: 2.0.0 - jdk: oraclejdk9 - - rvm: 2.1.0 - jdk: openjdk8 - - rvm: 2.1.0 - jdk: oraclejdk8 - - rvm: 2.1.0 - jdk: oraclejdk9 - - rvm: 2.2.2 - jdk: openjdk8 - - rvm: 2.2.2 - jdk: oraclejdk8 - - rvm: 2.2.2 - jdk: oraclejdk9 - - rvm: 2.3.8 - jdk: openjdk8 - - rvm: 2.3.8 - jdk: oraclejdk8 - - rvm: 2.3.8 - jdk: oraclejdk9 - - rvm: 2.4.5 - jdk: openjdk8 - - rvm: 2.4.5 - jdk: oraclejdk8 - - rvm: 2.4.5 - jdk: oraclejdk9 - - rvm: 2.5.3 - jdk: openjdk8 - - rvm: 2.5.3 - jdk: oraclejdk8 - - rvm: 2.5.3 - jdk: oraclejdk9 - - rvm: 2.6.5 - jdk: openjdk8 - - rvm: 2.6.5 - jdk: oraclejdk8 - - rvm: 2.6.5 - jdk: oraclejdk9 - - rvm: 2.7.0 - jdk: openjdk8 - - rvm: 2.7.0 - jdk: oraclejdk8 - - rvm: 2.7.0 - jdk: oraclejdk9 - - - rvm: ruby-head - jdk: openjdk8 - - rvm: ruby-head - jdk: oraclejdk8 - - rvm: ruby-head - jdk: oraclejdk9 - - rvm: rbx - jdk: openjdk8 - - rvm: rbx - jdk: oraclejdk8 - - rvm: rbx - jdk: oraclejdk9 - - # Rails 6.x requires Ruby 2.5.0 or higher - - rvm: 2.2.2 - gemfile: gemfiles/rails60.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails60.gemfile - - rvm: 2.4.5 - gemfile: gemfiles/rails60.gemfile - # Rails 5.x requires Ruby 2.2.2 or higher - - rvm: 2.0.0 - gemfile: gemfiles/rails50.gemfile - - rvm: 2.0.0 - gemfile: gemfiles/rails51.gemfile - - rvm: 2.0.0 - gemfile: gemfiles/rails52.gemfile - - rvm: 2.0.0 - gemfile: gemfiles/rails60.gemfile - # Rails 5.x requires Ruby 2.2.2 or higher - - rvm: 2.1.0 - gemfile: gemfiles/rails50.gemfile - - rvm: 2.1.0 - gemfile: gemfiles/rails51.gemfile - - rvm: 2.1.0 - gemfile: gemfiles/rails52.gemfile - - rvm: 2.1.0 - gemfile: gemfiles/rails60.gemfile - # MRI 2.2.2 supports Rails 3.2.x and higher, except Rails 5.2.4 and higher* - # * ActionDispatch 5.2.4 uses Ruby 3.x safe navigation operator. - - rvm: 2.2.2 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.2.2 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.2.2 - gemfile: gemfiles/rails52.gemfile - # MRI 2.3.x supports Rails 4.0.x and higher - - rvm: 2.3.8 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails32.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails40.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails41.gemfile - # MRI 2.4.x and higher (e.g. 2.5.x, 2.6.x, etc) supports Rails 4.2.8 and higher - # Rails lower than 4.2.8 is incompatible with Ruby 2.4 Integer class - - rvm: 2.4.5 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.4.5 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.4.5 - gemfile: gemfiles/rails32.gemfile - - rvm: 2.4.5 - gemfile: gemfiles/rails40.gemfile - - rvm: 2.4.5 - gemfile: gemfiles/rails41.gemfile - - rvm: 2.5.3 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.5.3 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.5.3 - gemfile: gemfiles/rails32.gemfile - - rvm: 2.5.3 - gemfile: gemfiles/rails40.gemfile - - rvm: 2.5.3 - gemfile: gemfiles/rails41.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails32.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails40.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails41.gemfile - - rvm: 2.6.5 - gemfile: gemfiles/rails42.gemfile - # Rails 6.x tries to be compatible with Ruby 2.7, though - # it still throws a lot of warnings. No point testing earlier - # Rails with Ruby 2.7. - - rvm: 2.7.0 - gemfile: gemfiles/rails30.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails31.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails32.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails40.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails41.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails42.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails50.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails51.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails52.gemfile - # JRuby JDBC Adapter is only compatible with Rails >= 5.x - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails30.gemfile - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails31.gemfile - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails32.gemfile - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails40.gemfile - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails41.gemfile - - rvm: jruby-9.1.9.0 - gemfile: gemfiles/rails42.gemfile - - rvm: rbx - gemfile: gemfiles/rails30.gemfile - - rvm: rbx - gemfile: gemfiles/rails31.gemfile - - rvm: rbx - gemfile: gemfiles/rails32.gemfile - - rvm: rbx - gemfile: gemfiles/rails40.gemfile - - rvm: rbx - gemfile: gemfiles/rails41.gemfile - - rvm: rbx - gemfile: gemfiles/rails42.gemfile - - rvm: rbx - gemfile: gemfiles/rails50.gemfile - - rvm: rbx - gemfile: gemfiles/rails51.gemfile - - rvm: rbx - gemfile: gemfiles/rails52.gemfile - - rvm: rbx - gemfile: gemfiles/rails60.gemfile