From aa1fb52a3438d0481df702bcff90703cbd41edc4 Mon Sep 17 00:00:00 2001 From: Jonathan Hernandez Date: Fri, 29 Nov 2024 18:21:32 +0100 Subject: [PATCH] Upgrade local dependencies - Replace Travis CI with GitHub Actions - Remove RuboCop configuration - Move development dependencies to gemspec - Add Docker development environment --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++ .rubocop.yml | 2 -- .travis.yml | 5 ----- Dockerfile.dev | 9 +++++++++ Gemfile | 5 ----- LICENSE | 2 +- README.md | 2 +- amazon_book.gemspec | 6 +++--- docker-compose.yml | 9 +++++++++ docker/entrypoint.sh | 4 ++++ 10 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .rubocop.yml delete mode 100644 .travis.yml create mode 100644 Dockerfile.dev create mode 100644 docker-compose.yml create mode 100755 docker/entrypoint.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..57cf372 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI for AmazonBook + +on: + push: + branches: + - '**' + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3', 'jruby-9.4'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Install dependencies + run: bundle install + + - name: Run tests + run: bundle exec rake + diff --git a/.rubocop.yml b/.rubocop.yml deleted file mode 100644 index d8b38aa..0000000 --- a/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -Style/Documentation: - Enabled: false diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 794fa7e..0000000 --- a/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -sudo: false -language: ruby -rvm: - - 2.4.1 -before_install: gem install bundler -v 1.15.1 diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..be97b28 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,9 @@ +FROM ruby:2.7.8 + +WORKDIR /app +COPY . /app + +RUN gem install bundler -v 2.4.22 +RUN bundle install + +CMD ["docker/entrypoint.sh"] diff --git a/Gemfile b/Gemfile index fc772b9..fa75df1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,8 +1,3 @@ source 'https://rubygems.org' -# Specify your gem's dependencies in amazon_book.gemspec gemspec - -group :test do - gem 'rubocop', '~> 0.30', platforms: %i[ruby_20 ruby_21] -end diff --git a/LICENSE b/LICENSE index 0f32090..81b0927 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Altmetric LLP +Copyright (c) 2017-2024 Altmetric LLP Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 129fdde..d72d0df 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,6 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/altmet ## License -Copyright © 2017 Altmetric LLP +Copyright © 2017-2024 Altmetric LLP Distributed under the MIT License. diff --git a/amazon_book.gemspec b/amazon_book.gemspec index 115f490..a893bef 100644 --- a/amazon_book.gemspec +++ b/amazon_book.gemspec @@ -21,8 +21,8 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_development_dependency 'bundler', '~> 1.15' - spec.add_development_dependency 'rake', '~> 10.0' - spec.add_development_dependency 'rspec', '~> 3.0' spec.add_dependency 'identifiers', '~> 0.9' + + spec.add_development_dependency 'rake' + spec.add_development_dependency 'rspec' end diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c24ad70 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + app: + build: + context: . + dockerfile: Dockerfile.dev + stdin_open: true + tty: true + volumes: + - .:/app diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100755 index 0000000..df18ccd --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Start an interactive shell to keep the container running +exec bash