From f01c05a2b5297ae3e4d5fa1d76720ddd66940c00 Mon Sep 17 00:00:00 2001 From: Luca Guidi Date: Thu, 14 Jan 2021 12:43:52 +0100 Subject: [PATCH] GitHub Actions --- .circleci/config.yml | 193 --------------------------------------- .github/workflows/ci.yml | 46 ++++++++++ LICENSE.md | 2 +- README.md | 4 +- 4 files changed, 49 insertions(+), 196 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/ci.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 0c88030..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,193 +0,0 @@ -# Ruby CircleCI 2.0 configuration file -# -# Check https://circleci.com/docs/2.0/language-ruby/ for more details -# -version: 2 -jobs: - "ruby-2.3": - docker: - - image: hanami/ruby-2.3 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "ruby-2.4": - docker: - - image: hanami/ruby-2.4 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "ruby-2.5": - docker: - - image: hanami/ruby-2.5 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "ruby-2.6": - docker: - - image: hanami/ruby-2.6 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "ruby-2.7": - docker: - - image: hanami/ruby-2.7 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "jruby-9.1": - docker: - - image: hanami/jruby-9.1 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - "jruby-9.2": - docker: - - image: hanami/jruby-9.2 - working_directory: ~/hanami-mailer - steps: - - checkout - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "Gemfile.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - run: - name: install dependencies - command: | - bundle install --jobs=4 --retry=3 --path vendor/bundle - - save_cache: - paths: - - ./vendor/bundle - key: v1-dependencies-{{ checksum "Gemfile.lock" }} - # run tests! - - run: - name: run tests - command: | - ./script/ci - -workflows: - version: 2 - build: - jobs: - - "ruby-2.3" - - "ruby-2.4" - - "ruby-2.5" - - "ruby-2.6" - - "ruby-2.7" - - "jruby-9.1" - - "jruby-9.2" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..eb5fcff --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,46 @@ +name: ci + +"on": + push: + paths: + - ".github/workflows/ci.yml" + - "lib/**" + - "*.gemspec" + - "spec/**" + - "Rakefile" + - "Gemfile" + - ".rubocop.yml" + pull_request: + branches: + - master + create: + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby: + - "3.0" + - "2.7" + - "2.6" + - "2.5" + - "2.4" + - "2.3" + - "jruby" + steps: + - uses: actions/checkout@v1 + - name: Install package dependencies + run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS" + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{matrix.ruby}} + - name: Install latest bundler + run: | + gem install bundler --no-document + - name: Bundle install + run: bundle install --jobs 4 --retry 3 + - name: Run all tests + run: script/ci diff --git a/LICENSE.md b/LICENSE.md index e3160b5..1594eb8 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright © 2015-2017 Luca Guidi +Copyright © 2015-2021 Luca Guidi MIT License diff --git a/README.md b/README.md index faa85fd..4a8d235 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Mail for Ruby applications. ## Status [![Gem Version](https://badge.fury.io/rb/hanami-mailer.svg)](https://badge.fury.io/rb/hanami-mailer) -[![CircleCI](https://circleci.com/gh/hanami/mailer/tree/master.svg?style=svg)](https://circleci.com/gh/hanami/mailer/tree/master) +[![CI](https://github.com/hanami/mailer/workflows/ci/badge.svg?branch=master)](https://github.com/hanami/mailer/actions?query=workflow%3Aci+branch%3Amaster) [![Test Coverage](https://codecov.io/gh/hanami/mailer/branch/master/graph/badge.svg)](https://codecov.io/gh/hanami/mailer) [![Depfu](https://badges.depfu.com/badges/739c6e10eaf20d3ba4240d00828284db/overview.svg)](https://depfu.com/github/hanami/mailer?project=Bundler) [![Inline Docs](http://inch-ci.org/github/hanami/mailer.svg)](http://inch-ci.org/github/hanami/mailer) @@ -415,6 +415,6 @@ __Hanami::Mailer__ uses [Semantic Versioning 2.0.0](http://semver.org) ## Copyright -Copyright © 2015-2020 Luca Guidi – Released under MIT License +Copyright © 2015-2021 Luca Guidi – Released under MIT License This project was formerly known as Lotus (`lotus-mailer`).