diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index d0efccf..bf0bb5d 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -12,15 +12,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: adambirds/docker-compose-action@v1.3.0 + - uses: cloudposse/github-action-docker-compose-test-run@main with: - compose-file: "./compose.yml" - down-flags: "--volumes" - test-container: app - test-command: "rake db:test:create && rake test && rake test:system" - - name: Deploy to staging Heroku - env: - HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }} - HEROKU_APP_NAME: 'staging-makeworks' - if: github.ref == 'refs/heads/master' && job.status == 'success' - run: git push https://heroku:$HEROKU_API_TOKEN@git.heroku.com/$HEROKU_APP_NAME.git origin/master:master --force + file: "./compose.yml" + service: app + command: "./ci.sh" diff --git a/.ruby-version b/.ruby-version index 49cdd66..9cec716 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.6 +3.1.6 diff --git a/Dockerfile b/Dockerfile index 6bfe067..809c981 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM ruby:2.7.6 +FROM ruby:3.1.6 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev postgresql-client software-properties-common RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - RUN add-apt-repository "deb https://deb.nodesource.com/node_14.x $(lsb_release -sc) main" -RUN apt-get update -qq && apt-get install -y nodejs +RUN apt-get update -qq && apt-get install -y nodejs npm RUN npm install -g yarn diff --git a/Gemfile b/Gemfile index 51237bd..2efa78e 100644 --- a/Gemfile +++ b/Gemfile @@ -12,8 +12,8 @@ gem "acts_as_list", "~> 1.0" gem 'chartkick' gem 'countries' gem 'country_select' -gem "devise", "~> 4.7" -gem "devise_invitable", "~> 2" +gem "devise", "~> 4.9" +gem "devise_invitable", "~> 2.0.9" gem "devise-i18n" gem 'discard', '~> 1.2' gem 'friendly_id', '~> 5.3.0' # 5.4.0 has a breaking change! https://github.com/norman/friendly_id/pull/787 @@ -54,7 +54,7 @@ gem 'redis', '~> 4.0' # gem 'image_processing', '~> 1.2' # Reduces boot times through caching; required in config/boot.rb -gem 'bootsnap', '>= 1.4.2', require: false +gem 'bootsnap', '>= 1.18.4', require: false gem "uri", "0.13.0" diff --git a/Gemfile.lock b/Gemfile.lock index 8381fe1..41a281a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,22 +90,22 @@ GEM activesupport (>= 3.0.0) ruby2_keywords (>= 0.0.2) ast (2.4.2) - aws-eventstream (1.0.3) - aws-partitions (1.295.0) - aws-sdk-core (3.93.0) - aws-eventstream (~> 1.0, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) - aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.30.0) - aws-sdk-core (~> 3, >= 3.71.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.61.2) - aws-sdk-core (~> 3, >= 3.83.0) + aws-eventstream (1.3.0) + aws-partitions (1.978.0) + aws-sdk-core (3.209.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.9) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.94.0) + aws-sdk-core (~> 3, >= 3.207.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.166.0) + aws-sdk-core (~> 3, >= 3.207.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.1.1) - aws-eventstream (~> 1.0, >= 1.0.2) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.10.0) + aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.20) better_html (2.0.2) actionview (>= 6.0) @@ -115,8 +115,8 @@ GEM parser (>= 2.4) smart_properties bindex (0.8.1) - bootsnap (1.4.6) - msgpack (~> 1.0) + bootsnap (1.18.4) + msgpack (~> 1.2) builder (3.2.4) bullet (7.1.6) activesupport (>= 3.0.0) @@ -153,7 +153,7 @@ GEM warden (~> 1.2.3) devise-i18n (1.9.4) devise (>= 4.7.1) - devise_invitable (2.0.1) + devise_invitable (2.0.9) actionmailer (>= 5.0) devise (>= 4.6) discard (1.3.0) @@ -239,7 +239,7 @@ GEM rails (>= 5.2) jbuilder (2.10.0) activesupport (>= 5.0.0) - jmespath (1.6.1) + jmespath (1.6.2) jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) @@ -283,7 +283,7 @@ GEM minitest (5.22.2) money (6.13.4) i18n (>= 0.6.4, <= 2) - msgpack (1.3.3) + msgpack (1.7.2) multi_json (1.14.1) multi_xml (0.6.0) multipart-post (2.1.1) @@ -327,7 +327,7 @@ GEM oauth2 (~> 1.1) omniauth (~> 1.9) orm_adapter (0.5.0) - parser (3.3.0.5) + parser (3.3.5.0) ast (~> 2.4.1) racc pg (1.2.3) @@ -337,7 +337,7 @@ GEM public_suffix (5.0.1) puma (5.6.7) nio4r (~> 2.0) - racc (1.7.3) + racc (1.8.1) rack (2.2.8.1) rack-mini-profiler (2.3.2) rack (>= 1.2.0) @@ -446,7 +446,7 @@ GEM sprockets (>= 3.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.0) + thor (1.3.2) tilt (2.0.10) timeout (0.4.1) turbo-rails (2.0.4) @@ -492,7 +492,7 @@ DEPENDENCIES activeadmin acts_as_list (~> 1.0) aws-sdk-s3 - bootsnap (>= 1.4.2) + bootsnap (>= 1.18.4) bullet byebug capybara (>= 2.15) @@ -500,9 +500,9 @@ DEPENDENCIES chartkick countries country_select - devise (~> 4.7) + devise (~> 4.9) devise-i18n - devise_invitable (~> 2) + devise_invitable (~> 2.0.9) discard (~> 1.2) dotenv-rails faker (~> 2.19) @@ -543,7 +543,7 @@ DEPENDENCIES webpacker RUBY VERSION - ruby 2.7.6p219 + ruby 3.1.6p260 BUNDLED WITH - 2.1.4 + 2.5.20 diff --git a/ci.sh b/ci.sh new file mode 100755 index 0000000..70a7d8e --- /dev/null +++ b/ci.sh @@ -0,0 +1,2 @@ +#/bin/sh +rake db:create && yarn install --check-files && rake test && rake test:system diff --git a/package.json b/package.json index 6c946ac..3a4dc8f 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@hotwired/turbo-rails": "^8.0.3", "@rails/actioncable": "~7.0", - "@rails/actiontext": "~7.0", + "@rails/actiontext": "^7.2.100", "@rails/activestorage": "~7.0", "@rails/ujs": "~7.0", "@rails/webpacker": "~5.4", @@ -16,7 +16,7 @@ "chartkick": "^4.0.4", "sortablejs": "^1.13.0", "stimulus": "^2.0.0", - "trix": "^1.2.0", + "trix": "^2.1.5", "turbolinks": "^5.2.0" }, "version": "0.1.0", @@ -24,6 +24,6 @@ "webpack-dev-server": "^3.11.2" }, "engines": { - "node": "14.21.3" + "node": "18.19.0" } } diff --git a/yarn.lock b/yarn.lock index 117e842..326d3ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1153,17 +1153,17 @@ resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.0.8.tgz#f44e7517f2d1570f1eabeea457dbeb17ed3a2d12" integrity sha512-GjYQv89ZOOfbFw8VMNUOG33GXzyAA/TCVoD+742Ob4svm1XXUkd+w+ewqUXd+7VHQtV35y1/O78AGIPeJDTy/g== -"@rails/actiontext@~7.0": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@rails/actiontext/-/actiontext-7.0.8.tgz#aa9f84f1726cce07ff24af9df376995354755a4c" - integrity sha512-AsG3QRX7K04c3mlkGBvTf1QRSxOMf7RXv9ve2jlA5C2AsBNHCOeVMmurTLRIC5Q8Mvd4WCUgC+TaNO+BN59WLw== +"@rails/actiontext@^7.2.100": + version "7.2.100" + resolved "https://registry.yarnpkg.com/@rails/actiontext/-/actiontext-7.2.100.tgz#e235c8150d252490902f8b33026bc0a030cce8e4" + integrity sha512-46oDEZdkxpbM/7+3GwSHTRyIkH3LRZRC9OE35rMIt0FcRbjXW+2Q7RL1YYjoy7megqnoCUDZglFISJQxJ/HBZg== dependencies: - "@rails/activestorage" ">= 7.0.0-alpha1" + "@rails/activestorage" ">= 7.2.0-alpha" -"@rails/activestorage@>= 7.0.0-alpha1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@rails/activestorage/-/activestorage-7.1.3.tgz#e83ece6c5fd94b3ddf30a8cf3b8f78cad049e596" - integrity sha512-B+RFYAU8vdTPFg0IJcRp2ey0Qw9hpcUOqHHcWqftDJ76ZMBi9+m/UUeMJlNsSd0l9eD+1HLlFSo1X//cY4yiDw== +"@rails/activestorage@>= 7.2.0-alpha": + version "7.2.100" + resolved "https://registry.yarnpkg.com/@rails/activestorage/-/activestorage-7.2.100.tgz#c1e643d3c35c62c946e6f7c8d812fa567d2ce915" + integrity sha512-gohCilm1E10W51Hc9iT960xX9TP11L5TJ4W1ufs9f3h5Ncsw01S/eHgVUfcdfszqw3G+28Z0MFu999+iSpgdTg== dependencies: spark-md5 "^3.0.1" @@ -7188,10 +7188,10 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -trix@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/trix/-/trix-1.3.1.tgz#ccce8d9e72bf0fe70c8c019ff558c70266f8d857" - integrity sha512-BbH6mb6gk+AV4f2as38mP6Ucc1LE3OD6XxkZnAgPIduWXYtvg2mI3cZhIZSLqmMh9OITEpOBCCk88IVmyjU7bA== +trix@^2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/trix/-/trix-2.1.5.tgz#512bc811172bea196de4a92fa8308c0914f263f9" + integrity sha512-5pC4olCp7BwxTC8Joy1Kv33kDvSOApi9Tqf6c8wygqCgeCx9xPP5cxkZEhvKpMV+kjd9gszingd5fZo834+ktw== ts-pnp@^1.1.6: version "1.2.0"