From 9495178f8bf0690d3195cedc572611c2d7ccf1e0 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Tue, 1 Dec 2020 12:28:15 +0900 Subject: [PATCH] Migrate to GitHub Actions, thanks Travis-CI! --- .github/workflows/test.yml | 74 ++++++++++++++++++++++++++++++++++++ .travis.yml | 61 ----------------------------- README.md | 2 +- gemfiles/rails-6-1.gemfile | 7 ++++ spec/support/activerecord.rb | 3 +- 5 files changed, 84 insertions(+), 63 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .travis.yml create mode 100644 gemfiles/rails-6-1.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..9336a6096 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,74 @@ +name: Test + +on: [push, pull_request] + +jobs: + test: + name: RSpec and Cucumber + strategy: + fail-fast: false + matrix: + ruby: [ 2.5, 2.6, 2.7, jruby ] + gemfile: [ gemfiles/rails-6-0.gemfile ] + experimental: [ false ] + include: + - ruby: 2.2 + gemfile: gemfiles/rails-5-0.gemfile + experimental: false + - ruby: 2.3 + gemfile: gemfiles/rails-5-1.gemfile + experimental: false + - ruby: 2.4 + gemfile: gemfiles/rails-5-2.gemfile + experimental: false + - ruby: 2.7 + gemfile: gemfiles/rails-6-1.gemfile + experimental: false + - ruby: 2.7 + gemfile: gemfiles/rails-master.gemfile + experimental: true + - ruby: ruby-head + gemfile: gemfiles/rails-6-1.gemfile + experimental: true + - ruby: jruby-head + gemfile: gemfiles/rails-6-0.gemfile + experimental: true + runs-on: ubuntu-16.04 + services: + postgres: + image: postgres:11 + ports: + - 5432:5432 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: carrierwave_test + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + env: + BUNDLE_GEMFILE: ${{ matrix.gemfile }} + EXPERIMENTAL: ${{ matrix.experimental }} + JRUBY_OPTS: --debug + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + - name: Cache gems + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ hashFiles(matrix.gemfile) }} + restore-keys: | + ${{ runner.os }}-gems-${{ matrix.ruby }}- + - name: Setup ImageMagick policy + run: sudo sh -c 'echo '\'''\'' > /etc/ImageMagick-6/policy.xml' + - name: Install dependencies + run: bundle install --jobs=3 --retry=3 --path=vendor/bundle || [ "$EXPERIMENTAL" == "true" ] && true + - name: Run RSpec + run: bundle exec rake spec || [ "$EXPERIMENTAL" == "true" ] && true + - name: Run Cucumber + # Workaround for OpenSSL 'undefined symbol: SSLv2_method' error + if: ${{ matrix.ruby > 2.3 || contains(matrix.ruby, 'ruby') }} + run: bundle exec rake features || [ "$EXPERIMENTAL" == "true" ] && true + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cb0879176..000000000 --- a/.travis.yml +++ /dev/null @@ -1,61 +0,0 @@ -dist: trusty - -language: ruby - -cache: bundler - -rvm: - - 2.5.7 - - 2.6.5 - - 2.7.0 - - jruby-9.2.8.0 - -gemfile: - - gemfiles/rails-5-2.gemfile - - gemfiles/rails-6-0.gemfile - -before_install: - # https://github.com/danmayer/coverband/issues/162#issuecomment-452173268 - - rm /home/travis/.rvm/gems/*/specifications/bundler-2.*.gemspec || true - - gem install bundler -v '<2' - -before_script: - - psql -c 'create database carrierwave_test;' -U postgres - -matrix: - include: - - rvm: 2.2.10 - gemfile: gemfiles/rails-5-2.gemfile - - rvm: 2.3.8 - gemfile: gemfiles/rails-5-2.gemfile - - rvm: 2.4.9 - gemfile: gemfiles/rails-5-2.gemfile - - rvm: 2.5.7 - gemfile: gemfiles/rails-5-0.gemfile - - rvm: 2.5.7 - gemfile: gemfiles/rails-5-1.gemfile - - rvm: 2.7.0 - gemfile: gemfiles/rails-master.gemfile - - rvm: ruby-head - gemfile: gemfiles/rails-6-0.gemfile - - rvm: jruby-head - gemfile: gemfiles/rails-5-2.gemfile - exclude: - - rvm: jruby-9.2.8.0 - gemfile: gemfiles/rails-6-0.gemfile - allow_failures: - - rvm: ruby-head - - rvm: jruby-head - - gemfile: gemfiles/rails-master.gemfile - fast_finish: true - -notifications: - email: false - slack: - secure: Npzanyv/LXLIRlrNs8iTUbZNRhXlP+K2ZpjZoS2UKkr09jYyP1qdf5a//R3Lu7Yat7g2b4qTJGbaZBEMUQSVaJ6UX6quiBJjVWxjxjQ4Ugk8k/yOIAcGEGYPfS6YzRXemRwo9j4uy76cmwlv8cwEuYTSTBRK4XrdYHslX6pKSXM= - -addons: - postgresql: "9.6" - apt: - packages: - - ghostscript diff --git a/README.md b/README.md index 9b7b4b664..f1bcb6ef9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This gem provides a simple and extremely flexible way to upload files from Ruby applications. It works well with Rack based web applications, such as Ruby on Rails. -[![Build Status](https://travis-ci.org/carrierwaveuploader/carrierwave.svg?branch=master)](http://travis-ci.org/carrierwaveuploader/carrierwave) +[![Build Status](https://github.com/carrierwaveuploader/carrierwave/workflows/Test/badge.svg)](https://github.com/carrierwaveuploader/carrierwave/actions) [![Code Climate](https://codeclimate.com/github/carrierwaveuploader/carrierwave.svg)](https://codeclimate.com/github/carrierwaveuploader/carrierwave) [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=carrierwave&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=carrierwave&package-manager=bundler&version-scheme=semver) diff --git a/gemfiles/rails-6-1.gemfile b/gemfiles/rails-6-1.gemfile new file mode 100644 index 000000000..d19dfff1f --- /dev/null +++ b/gemfiles/rails-6-1.gemfile @@ -0,0 +1,7 @@ +source "https://rubygems.org" + +gem "rails", "~> 6.1.0.rc1" +gem "activemodel-serializers-xml" +gem 'pg', platforms: :ruby + +gemspec :path => "../" diff --git a/spec/support/activerecord.rb b/spec/support/activerecord.rb index f0303d491..73a4d308e 100644 --- a/spec/support/activerecord.rb +++ b/spec/support/activerecord.rb @@ -13,7 +13,8 @@ :adapter => 'postgresql', :database => 'carrierwave_test', :encoding => 'utf8', - :username => 'postgres' + :username => 'postgres', + :password => 'postgres' } database = dbconfig.delete(:database)