diff --git a/.woodpecker.yml b/.woodpecker.yml index 22402574..fff00ce4 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -20,6 +20,7 @@ pipeline: branch: - "rails" - "panel.sutty.nl" + - "17.3.alpine.panel.sutty.nl" event: "push" path: include: @@ -27,7 +28,7 @@ pipeline: - ".dockerignore" - ".woodpecker.yml" assets: - image: "gitea.nulo.in/sutty/panel:${ALPINE_VERSION}-${RUBY_VERSION}.${RUBY_PATCH}" + image: "gitea.nulo.in/sutty/panel:3.14.10-2.7.8" commands: - "apk add python2 dotenv openssh-client brotli" - "install -d -m 700 ~/.ssh/" @@ -49,6 +50,9 @@ pipeline: - "dotenv RAILS_ENV=production bundle exec rails assets:clean" - "git add public && git commit -m \"ci: assets [skip ci]\"" - "git push upstream ${CI_COMMIT_BRANCH}" + environment: + - "RUBY_VERSION=${RUBY_VERSION}" + - "GEMS_SOURCE=https://14.3.alpine.gems.sutty.nl" secrets: - "SSH_KEY" - "KNOWN_HOSTS" @@ -57,14 +61,22 @@ pipeline: branch: - "rails" - "panel.sutty.nl" + - "17.3.alpine.panel.sutty.nl" path: include: - "app/assets/**/*" - "app/javascript/**/*" - "package.json" - "yarn.lock" + matrix: + ALPINE_VERSION: "3.14.10" + RUBY_VERSION: "2.7" + RUBY_PATCH: "8" matrix: include: + - ALPINE_VERSION: "3.17.3" + RUBY_VERSION: "3.1" + RUBY_PATCH: "4" - ALPINE_VERSION: "3.14.10" RUBY_VERSION: "2.7" RUBY_PATCH: "8" diff --git a/Gemfile b/Gemfile index ac81b570..5b722c68 100644 --- a/Gemfile +++ b/Gemfile @@ -4,18 +4,16 @@ if ENV['RAILS_ENV'] != 'production' && ENV['HAIN_ENV'].nil? puts 'Usa haini.sh para generar un entorno de trabajo reproducible' end -source 'https://gems.sutty.nl' +source ENV.fetch('GEMS_SOURCE', 'https://17.3.alpine.gems.sutty.nl') -ruby '~> 2.7' +ruby "~> #{ENV.fetch('RUBY_VERSION', '3.1')}" -gem 'mail', '~> 2.7.1' gem 'dotenv-rails', require: 'dotenv/rails-now' -gem 'i18n', '~> 1.8.0' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.1.0' # Use Puma as the app server -gem 'puma', '~> 6.1.0' +gem 'puma' # Solo incluir las gemas cuando estemos en desarrollo o compilando los # assets. No es necesario instalarlas en producción. @@ -56,9 +54,9 @@ gem 'image_processing' gem 'icalendar' gem 'inline_svg' gem 'httparty' -gem 'safe_yaml' +gem 'safe_yaml', require: false gem 'jekyll', '~> 4.2.0' -gem 'jekyll-commonmark' +gem 'jekyll-commonmark', '~> 1.4.0' gem 'jekyll-images' gem 'jekyll-include-cache' gem 'sutty-liquid', '>= 0.7.3' @@ -113,8 +111,7 @@ end group :development, :test do gem 'derailed_benchmarks' gem 'pry' - # Adds support for Capybara system testing and selenium driver - gem 'capybara', '~> 2.13' + gem 'capybara' gem 'selenium-webdriver' gem 'sqlite3' end diff --git a/Gemfile.lock b/Gemfile.lock index 74e4775f..a8087358 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -25,7 +25,7 @@ GIT groupdate (>= 5.2) GEM - remote: https://gems.sutty.nl/ + remote: https://17.3.alpine.gems.sutty.nl/ specs: actioncable (6.1.7.3) actionpack (= 6.1.7.3) @@ -86,9 +86,11 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.1) + addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) + autoprefixer-rails (10.4.13.0) + execjs (~> 2) bcrypt (3.1.18-x86_64-linux-musl) bcrypt_pbkdf (1.1.0-x86_64-linux-musl) benchmark-ips (2.12.0) @@ -98,20 +100,26 @@ GEM chartkick (>= 3.2) railties (>= 5) safely_block (>= 0.1.1) + bootstrap (4.6.2) + autoprefixer-rails (>= 9.1.0) + popper_js (>= 1.16.1, < 2) + sassc-rails (>= 2.0.0) brakeman (5.4.1) builder (3.2.4) - capybara (2.18.0) + capybara (3.39.1) addressable + matrix mini_mime (>= 0.1.3) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (>= 2.0, < 4.0) - chartkick (5.0.1) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + chartkick (5.0.2) climate_control (1.2.0) coderay (1.1.3) colorator (1.1.0) - commonmarker (0.23.8-x86_64-linux-musl) + commonmarker (0.23.9-x86_64-linux-musl) concurrent-ruby (1.2.2) concurrent-ruby-ext (1.2.2-x86_64-linux-musl) concurrent-ruby (= 1.2.2) @@ -122,6 +130,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) + date (3.3.3-x86_64-linux-musl) dead_end (4.0.0) derailed_benchmarks (2.1.2) benchmark-ips (~> 2) @@ -135,7 +144,7 @@ GEM rake (> 10, < 14) ruby-statistics (>= 2.1) thor (>= 0.19, < 2) - devise (4.9.0) + devise (4.9.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -143,10 +152,10 @@ GEM warden (~> 1.2.3) devise-i18n (1.11.0) devise (>= 4.9.0) - devise_invitable (2.0.7) + devise_invitable (2.0.8) actionmailer (>= 5.0) devise (>= 4.6) - distributed-press-api-client (0.2.2) + distributed-press-api-client (0.2.3) addressable (~> 2.3, >= 2.3.0) climate_control dry-schema @@ -157,7 +166,7 @@ GEM dotenv-rails (2.8.1) dotenv (= 2.8.1) railties (>= 3.2) - down (5.4.0) + down (5.4.1) addressable (~> 2.8) dry-configurable (1.0.1) dry-core (~> 1.0, < 2) @@ -171,12 +180,12 @@ GEM concurrent-ruby (~> 1.0) dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) - dry-schema (1.13.0) + dry-schema (1.13.1) concurrent-ruby (~> 1.0) dry-configurable (~> 1.0, >= 1.0.1) dry-core (~> 1.0, < 2) dry-initializer (~> 3.0) - dry-logic (>= 1.5, < 2) + dry-logic (>= 1.4, < 2) dry-types (>= 1.7, < 2) zeitwerk (~> 2.6) dry-types (1.7.1) @@ -189,12 +198,12 @@ GEM em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - errbase (0.2.2) erubi (1.12.0) eventmachine (1.2.7-x86_64-linux-musl) exception_notification (4.5.0) actionmailer (>= 5.2, < 8) activesupport (>= 5.2, < 8) + execjs (2.8.1) factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) @@ -211,7 +220,7 @@ GEM ffi (~> 1.0) globalid (1.1.0) activesupport (>= 5.0) - groupdate (6.2.0) + groupdate (6.2.1) activesupport (>= 5.2) hairtrigger (1.0.0) activerecord (>= 6.0, < 8) @@ -245,7 +254,7 @@ GEM httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.8.11) + i18n (1.13.0) concurrent-ruby (~> 1.0) icalendar (2.8.0) ice_cube (~> 0.16) @@ -276,7 +285,7 @@ GEM terminal-table (~> 2.0) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-images (0.4.0) + jekyll-images (0.4.1) jekyll (~> 4) ruby-filemagic (~> 0.7) ruby-vips (~> 2) @@ -321,60 +330,72 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.19.1) + loofah (2.21.3) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) + matrix (0.4.2) memory_profiler (1.0.1) mercenary (0.4.0) method_source (1.0.0) mini_histogram (0.3.1) mini_magick (4.12.0) mini_mime (1.1.2) - mini_portile2 (2.8.1) minitest (5.18.0) mobility (1.2.9) i18n (>= 0.6.10, < 2) request_store (~> 1.0) multi_xml (0.6.0) + net-imap (0.3.4) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.1) + timeout + net-smtp (0.3.3) + net-protocol net-ssh (7.1.0) netaddr (2.0.6) - nio4r (2.5.8-x86_64-linux-musl) + nio4r (2.5.9-x86_64-linux-musl) njalla-api-client (0.2.0) dry-schema httparty (~> 0.18) - nokogiri (1.14.2-x86_64-linux-musl) - mini_portile2 (~> 2.8.0) + nokogiri (1.15.1-x86_64-linux) racc (~> 1.4) orm_adapter (0.5.0) - pairing_heap (3.0.0) - parallel (1.22.1) - parser (3.2.1.1) + pairing_heap (3.0.1) + parallel (1.23.0) + parser (3.2.2.1) ast (~> 2.4.1) pathutil (0.16.2) forwardable-extended (~> 2.6) - pg (1.4.6-x86_64-linux-musl) + pg (1.5.3-x86_64-linux-musl) pg_search (2.3.6) activerecord (>= 5.2) activesupport (>= 5.2) + popper_js (1.16.1) prometheus_exporter (2.0.8) webrick pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) public_suffix (5.0.1) - puma (6.1.1-x86_64-linux-musl) + puma (6.2.2-x86_64-linux-musl) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) - que (2.2.0) + que (2.2.1) racc (1.6.2-x86_64-linux-musl) - rack (2.2.6.4) + rack (2.2.7) rack-cors (2.0.1) rack (>= 2.0.0) - rack-mini-profiler (3.0.0) + rack-mini-profiler (3.1.0) rack (>= 1.2.0) rack-proxy (0.7.6) rack @@ -400,7 +421,7 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - rails-i18n (7.0.6) + rails-i18n (7.0.7) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) rails_warden (0.6.0) @@ -437,14 +458,14 @@ GEM kwalify (~> 0.7.0) parser (~> 3.2.0) rainbow (>= 2.0, < 4.0) - regexp_parser (2.7.0) + regexp_parser (2.8.0) request_store (1.5.1) rack (>= 1.4) responders (3.1.0) actionpack (>= 5.2) railties (>= 5.2) rexml (3.2.5) - rgl (0.6.2) + rgl (0.6.3) pairing_heap (>= 0.3.0) rexml (~> 3.2, >= 3.2.4) stream (~> 0.5.3) @@ -459,35 +480,40 @@ GEM rubocop-ast (>= 1.24.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.28.0) + rubocop-ast (1.28.1) parser (>= 3.2.1.0) - rubocop-rails (2.18.0) + rubocop-rails (2.19.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) ruby-filemagic (0.7.3-x86_64-linux-musl) ruby-progressbar (1.13.0) - ruby-statistics (3.0.1) + ruby-statistics (3.0.2) ruby-vips (2.1.4) ffi (~> 1.12) ruby2ruby (2.5.0) ruby_parser (~> 3.1) sexp_processor (~> 4.6) - ruby_parser (3.20.0) + ruby_parser (3.20.1) sexp_processor (~> 4.16) rubyzip (2.3.2) rugged (1.6.3-x86_64-linux-musl) safe_yaml (1.0.6) - safely_block (0.3.0) - errbase (>= 0.1.1) + safely_block (0.4.0) sassc (2.4.0-x86_64-linux-musl) ffi (~> 1.9) - selenium-webdriver (4.8.6) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + selenium-webdriver (4.9.1) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) semantic_range (3.0.0) - sexp_processor (4.16.1) + sexp_processor (4.17.0) simpleidn (0.2.1) unf (~> 0.1.4) sourcemap (0.1.1) @@ -502,25 +528,28 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.6.2-x86_64-linux) - stackprof (0.2.24-x86_64-linux-musl) + sqlite3 (1.6.3-x86_64-linux) + stackprof (0.2.25-x86_64-linux-musl) stream (0.5.5) - sutty-liquid (0.11.8) + sutty-liquid (0.11.10) fast_blank (~> 1.0) jekyll (~> 4) symbol-fstring (1.0.2-x86_64-linux-musl) sysexits (1.2.0) - temple (0.10.0) + temple (0.10.1) terminal-table (2.0.0) unicode-display_width (~> 1.1, >= 1.1.1) - thor (1.2.1) + thor (1.2.2) tilt (2.1.0) timecop (0.9.6) + timeout (0.3.2) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.8.2-x86_64-linux-musl) @@ -547,7 +576,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.7) + zeitwerk (2.6.8) PLATFORMS x86_64-linux-musl @@ -556,8 +585,9 @@ DEPENDENCIES bcrypt (~> 3.1.7) bcrypt_pbkdf blazer + bootstrap (~> 4) brakeman - capybara (~> 2.13) + capybara chartkick commonmarker concurrent-ruby-ext @@ -582,13 +612,12 @@ DEPENDENCIES hamlit-rails hiredis httparty - i18n (~> 1.8.0) icalendar image_processing inline_svg jbuilder (~> 2.5) jekyll (~> 4.2.0) - jekyll-commonmark + jekyll-commonmark (~> 1.4.0) jekyll-images jekyll-include-cache kaminari @@ -597,18 +626,17 @@ DEPENDENCIES loaf lockbox lograge - mail (~> 2.7.1) memory_profiler mini_magick mobility net-ssh - njalla-api-client + njalla-api-client (~> 0.2.0) nokogiri pg pg_search prometheus_exporter pry - puma (~> 6.1.0) + puma pundit que rack-cors @@ -625,6 +653,7 @@ DEPENDENCIES rubyzip rugged safe_yaml + sassc-rails selenium-webdriver sourcemap spring @@ -636,13 +665,14 @@ DEPENDENCIES terminal-table timecop turbolinks (~> 5) + uglifier (>= 1.3.0) validates_hostname web-console webpacker yaml_db! RUBY VERSION - ruby 2.7.6p219 + ruby 3.1.3p185 BUNDLED WITH - 2.2.20 + 2.4.13