diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 42caa5d..df129e2 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -4,9 +4,12 @@ on: push: branches: - master + pull_request: + branches: + - master jobs: codecov: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - run: | @@ -14,12 +17,11 @@ jobs: sudo apt-get install -y postgresql-14 sudo ln -s /usr/lib/postgresql/14/bin/initdb /bin/initdb sudo ln -s /usr/lib/postgresql/14/bin/postgres /bin/postgres - - uses: actions/setup-ruby@v1 + - uses: ruby/setup-ruby@v1 with: ruby-version: 3.0 - run: bundle update - run: bundle exec rake - uses: codecov/codecov-action@v3 with: - file: coverage/.resultset.json fail_ci_if_error: true diff --git a/.github/workflows/rake.yml b/.github/workflows/rake.yml index 83bc472..c6f4097 100644 --- a/.github/workflows/rake.yml +++ b/.github/workflows/rake.yml @@ -12,7 +12,7 @@ jobs: name: test strategy: matrix: - os: [ubuntu-20.04] + os: [ubuntu-22.04] ruby: [3.0, 2.7] runs-on: ${{ matrix.os }} steps: diff --git a/.simplecov b/.simplecov index b3bcd04..e228bb6 100644 --- a/.simplecov +++ b/.simplecov @@ -1,7 +1,7 @@ # # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the 'Software'), to deal @@ -32,5 +32,7 @@ SimpleCov.formatter = if Gem.win_platform? end SimpleCov.start do add_filter '/test/' - add_filter '/features/' + add_filter '/liquibase/' + add_filter '/public/' + minimum_coverage 70 end diff --git a/0rsk.rb b/0rsk.rb index 9fbb897..a92a140 100644 --- a/0rsk.rb +++ b/0rsk.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/Gemfile b/Gemfile index 09745db..794453e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the 'Software'), to deal @@ -32,7 +32,7 @@ gem 'pgtk', '0.8.1' gem 'rack', '2.2.4' gem 'rack-ssl', '1.4.1' gem 'rack-test', '2.1.0' -gem 'rake', '13.0.6', require: false +gem 'rake', '13.1.0', require: false gem 'relative_time', '1.1.0' gem 'rerun', '0.14.0', require: false gem 'rspec-rails', '6.0.3', require: false @@ -41,6 +41,7 @@ gem 'rubocop-rspec', '2.23.2', require: false gem 'sass', '3.7.4' gem 'sentry-raven', '3.1.2' gem 'simplecov', '0.22.0' +gem 'simplecov-cobertura', '~> 2.1' gem 'sinatra', '3.0.6' gem 'sinatra-contrib', '3.0.6' gem 'sprockets', '4.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index fd186b3..7cc1a89 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,23 +1,31 @@ GEM remote: https://rubygems.org/ specs: - actionpack (7.0.7.2) - actionview (= 7.0.7.2) - activesupport (= 7.0.7.2) - rack (~> 2.0, >= 2.2.4) + actionpack (7.1.3) + actionview (= 7.1.3) + activesupport (= 7.1.3) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.7.2) - activesupport (= 7.0.7.2) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actionview (7.1.3) + activesupport (= 7.1.3) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activesupport (7.0.7.2) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.1.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) ansi (1.5.0) ast (2.4.2) @@ -28,10 +36,12 @@ GEM backtrace (0.4.0) base58 (0.2.3) base64 (0.1.1) + bigdecimal (3.1.6) builder (3.2.4) coercible (1.0.0) descendants_tracker (~> 0.0.1) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) crass (1.0.6) daemons (1.4.1) descendants_tracker (0.0.4) @@ -39,13 +49,15 @@ GEM diff-lcs (1.5.0) differ (0.1.2) docile (1.4.0) + drb (2.2.0) + ruby2_keywords erubi (1.12.0) eslintrb (2.1.0) execjs multi_json (>= 1.3) rake eventmachine (1.2.7) - execjs (2.8.1) + execjs (2.9.1) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -71,7 +83,7 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - ffi (1.15.5) + ffi (1.16.3) glogin (0.13.0) base58 (>= 0.2) openssl (>= 2.0) @@ -81,18 +93,21 @@ GEM i18n (1.14.1) concurrent-ruby (~> 1.0) ice_nine (0.11.2) + io-console (0.7.2) + irb (1.11.1) + rdoc + reline (>= 0.4.2) iri (0.7.0) - json (2.6.3) + json (2.7.1) language_server-protocol (3.17.0.3) listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - loofah (2.21.3) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) loog (0.3.1) - method_source (1.0.0) - mini_portile2 (2.8.2) + mini_portile2 (2.8.5) minitest (5.18.1) minitest-reporters (1.6.0) ansi @@ -103,14 +118,15 @@ GEM multipart-post (2.3.0) mustermann (3.0.0) ruby2_keywords (~> 0.0.1) - nokogiri (1.15.2) + mutex_m (0.2.0) + nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.15.2-x86_64-darwin) + nokogiri (1.16.0-x86_64-darwin) racc (~> 1.4) - openssl (3.1.0) - parallel (1.23.0) - parser (3.2.2.3) + openssl (3.2.0) + parallel (1.24.0) + parser (3.3.0.5) ast (~> 2.4.1) racc pg (1.5.4) @@ -119,37 +135,49 @@ GEM loog (~> 0.2) pg (~> 1.1) random-port (~> 0.3) - racc (1.7.1) + psych (5.1.2) + stringio + racc (1.7.3) rack (2.2.4) rack-protection (3.0.6) rack + rack-session (1.0.2) + rack (< 3) rack-ssl (1.4.1) rack rack-test (2.1.0) rack (>= 1.3) - rails-dom-testing (2.1.1) + rackup (1.0.0) + rack (< 3) + webrick + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.0.7.2) - actionpack (= 7.0.7.2) - activesupport (= 7.0.7.2) - method_source + railties (7.1.3) + actionpack (= 7.1.3) + activesupport (= 7.1.3) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.0.6) + rake (13.1.0) random-port (0.6.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - regexp_parser (2.8.1) + rdoc (6.6.2) + psych (>= 4.0.0) + regexp_parser (2.9.0) relative_time (1.1.0) i18n + reline (0.4.2) + io-console (~> 0.5) rerun (0.14.0) listen (~> 3.0) rexml (3.2.6) @@ -158,7 +186,7 @@ GEM rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-mocks (3.12.5) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-rails (6.0.3) @@ -182,12 +210,12 @@ GEM rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.20.0) + rubocop (~> 1.41) + rubocop-factory_bot (2.25.1) rubocop (~> 1.41) - rubocop-factory_bot (2.23.1) - rubocop (~> 1.33) rubocop-rspec (2.23.2) rubocop (~> 1.33) rubocop-capybara (~> 2.17) @@ -205,6 +233,9 @@ GEM docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) sinatra (3.0.6) @@ -222,31 +253,33 @@ GEM sprockets (4.2.0) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) + stringio (3.1.0) telebot (0.1.2) faraday faraday_middleware virtus - temple (0.10.2) + temple (0.10.3) thin (1.8.2) daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0, >= 1.0.4) rack (>= 1, < 3) - thor (1.2.2) + thor (1.3.0) thread_safe (0.3.6) - tilt (2.2.0) + tilt (2.3.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.4.2) + unicode-display_width (2.5.0) virtus (2.0.0) axiom-types (~> 0.1) coercible (~> 1.0) descendants_tracker (~> 0.0, >= 0.0.3) + webrick (1.8.1) xcop (0.7.1) differ (~> 0.1.2) nokogiri (~> 1.10) rainbow (~> 3.0) slop (~> 4.4) - zeitwerk (2.6.8) + zeitwerk (2.6.12) PLATFORMS ruby @@ -266,7 +299,7 @@ DEPENDENCIES rack (= 2.2.4) rack-ssl (= 1.4.1) rack-test (= 2.1.0) - rake (= 13.0.6) + rake (= 13.1.0) relative_time (= 1.1.0) rerun (= 0.14.0) rspec-rails (= 6.0.3) @@ -275,6 +308,7 @@ DEPENDENCIES sass (= 3.7.4) sentry-raven (= 3.1.2) simplecov (= 0.22.0) + simplecov-cobertura (~> 2.1) sinatra (= 3.0.6) sinatra-contrib (= 3.0.6) sprockets (= 4.2.0) diff --git a/LICENSE.txt b/LICENSE.txt index fa86cb6..1255ab6 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ (The MIT License) -Copyright (c) 2019-2023 Yegor Bugayenko +Copyright (c) 2019-2024 Yegor Bugayenko 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/Rakefile b/Rakefile index 7c20734..a4099e5 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_helpers.rb b/front/front_helpers.rb index 61f3580..e965428 100644 --- a/front/front_helpers.rb +++ b/front/front_helpers.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_login.rb b/front/front_login.rb index 36aef85..05398a2 100644 --- a/front/front_login.rb +++ b/front/front_login.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_misc.rb b/front/front_misc.rb index c41aff9..2522c1e 100644 --- a/front/front_misc.rb +++ b/front/front_misc.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_tasks.rb b/front/front_tasks.rb index bbc791b..0ea9837 100644 --- a/front/front_tasks.rb +++ b/front/front_tasks.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_telegram.rb b/front/front_telegram.rb index 4cc063f..cdcaf85 100644 --- a/front/front_telegram.rb +++ b/front/front_telegram.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/front/front_triple.rb b/front/front_triple.rb index 6f08ece..cfb915e 100644 --- a/front/front_triple.rb +++ b/front/front_triple.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -# Copyright (c) 2019-2023 Yegor Bugayenko +# Copyright (c) 2019-2024 Yegor Bugayenko # # 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/liquibase/2019/001-initial-schema.xml b/liquibase/2019/001-initial-schema.xml index 44bc10c..56564f3 100644 --- a/liquibase/2019/001-initial-schema.xml +++ b/liquibase/2019/001-initial-schema.xml @@ -2,7 +2,7 @@