Skip to content

Commit

Permalink
Merge pull request #137 from tvdeyen/use-setup-ruby-cache
Browse files Browse the repository at this point in the history
Alchemy 6 compatibility
  • Loading branch information
tvdeyen authored Apr 24, 2022
2 parents b30ba1f + 52d67c5 commit f229d3d
Show file tree
Hide file tree
Showing 7 changed files with 117 additions and 121 deletions.
57 changes: 20 additions & 37 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
name: CI

on:
push:
branches:
- main
- 5.1-stable
- 5.0-stable
pull_request:
branches:
- main
- 5.1-stable
- 5.0-stable
on: [push, pull_request]

jobs:
RSpec:
Expand All @@ -19,21 +9,28 @@ jobs:
fail-fast: false
matrix:
alchemy_branch:
- 5.0-stable
- 5.1-stable
- 5.3-stable
- 6.0-stable
- main
ruby:
- '2.5'
- '2.6'
- '2.7'
- "2.6"
- "2.7"
- "3.0"
database:
- mysql
- postgresql
exclude:
- alchemy_branch: 5.3-stable
ruby: "3.0"
database: mysql
- alchemy_branch: 5.3-stable
ruby: "3.0"
database: postgresql
env:
DB: ${{ matrix.database }}
DB_USER: alchemy_user
DB_PASSWORD: password
DB_HOST: '127.0.0.1'
DB_HOST: "127.0.0.1"
RAILS_ENV: test
ALCHEMY_BRANCH: ${{ matrix.alchemy_branch }}
services:
Expand All @@ -43,11 +40,11 @@ jobs:
POSTGRES_USER: ${{ env.DB_USER }}
POSTGRES_PASSWORD: ${{ env.DB_PASSWORD }}
POSTGRES_DB: alchemy_devise_dummy_test
ports: ['5432:5432']
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
mysql:
image: mysql:latest
ports: ['3306:3306']
ports: ["3306:3306"]
env:
MYSQL_USER: ${{ env.DB_USER }}
MYSQL_PASSWORD: ${{ env.DB_PASSWORD }}
Expand All @@ -57,12 +54,13 @@ jobs:
steps:
- uses: actions/[email protected]
- name: Set up Ruby
uses: actions/setup-ruby@v1.1.2
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Restore apt cache
id: apt-cache
uses: actions/cache@v2.1.3
uses: actions/cache@v2
with:
path: /home/runner/apt/cache
key: ${{ runner.os }}-apt-${{ matrix.database }}
Expand All @@ -82,24 +80,9 @@ jobs:
sudo apt update -qq
sudo apt install -qq --fix-missing libmysqlclient-dev -o dir::cache::archives="/home/runner/apt/cache"
sudo chown -R runner /home/runner/apt/cache
- name: Install bundler
run: |
gem install bundler
- name: Restore Ruby Gems cache
id: cache
uses: actions/[email protected]
with:
path: vendor/bundle
key: ${{ runner.os }}-bundle-${{ matrix.ruby }}-${{ matrix.alchemy_branch }}-${{ matrix.database }}-${{ hashFiles('**/Gemfile') }}
restore-keys: |
${{ runner.os }}-bundle-
- name: Install bundle
timeout-minutes: 10
run: |
bundle install --jobs 4 --retry 3 --path vendor/bundle
- name: Restore node modules cache
id: yarn-cache
uses: actions/cache@v2.1.3
uses: actions/cache@v2
with:
path: spec/dummy/node_modules
key: ${{ runner.os }}-yarn-dummy-${{ hashFiles('./package.json') }}
Expand Down
7 changes: 7 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ source "https://rubygems.org"
alchemy_branch = ENV.fetch("ALCHEMY_BRANCH", "main")
gem "alchemy_cms", github: "AlchemyCMS/alchemy_cms", branch: alchemy_branch

case alchemy_branch
when /5\.3/
gem "rails", github: "rails/rails", branch: "6-0-stable"
else
gem "rails", github: "rails/rails", branch: "6-1-stable"
end

# Specify your gem's dependencies in alchemy-solidus.gemspec
gemspec

Expand Down
40 changes: 18 additions & 22 deletions config/initializers/alchemy.rb
Original file line number Diff line number Diff line change
@@ -1,28 +1,24 @@
# frozen_string_literal: true

require "alchemy/devise/ability"
Rails.application.config.to_prepare do
require "alchemy/devise/ability"

Alchemy.register_ability(Alchemy::Devise::Ability)
Alchemy.register_ability(Alchemy::Devise::Ability)

Alchemy::Modules.register_module({
name: "users",
engine_name: "alchemy",
position: 4.1,
navigation: {
name: "modules.users",
controller: "/alchemy/admin/users",
action: "index",
icon: "users",
},
})
Alchemy::Modules.register_module({
name: "users",
engine_name: "alchemy",
position: 4.1,
navigation: {
name: "modules.users",
controller: "/alchemy/admin/users",
action: "index",
icon: "users",
},
})

Alchemy.user_class_name = "Alchemy::User"
Alchemy.signup_path = "/admin/signup"
Alchemy.login_path = "/admin/login"
Alchemy.logout_path = "/admin/logout"

if Alchemy.respond_to?(:logout_method)
Rails.application.config.after_initialize do
Alchemy.logout_method = Devise.sign_out_via
end
Alchemy.signup_path = "/admin/signup"
Alchemy.login_path = "/admin/login"
Alchemy.logout_path = "/admin/logout"
Alchemy.logout_method = Devise.sign_out_via
end
4 changes: 4 additions & 0 deletions lib/alchemy/devise/engine.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ class Engine < ::Rails::Engine
isolate_namespace Alchemy
engine_name 'alchemy_devise'

initializer "alchemy_devise.user_class", before: "alchemy.userstamp" do
Alchemy.user_class_name = "Alchemy::User"
end

initializer 'alchemy_devise.assets' do |app|
app.config.assets.precompile += [
'alchemy-devise.css'
Expand Down
9 changes: 7 additions & 2 deletions spec/dummy/config/application.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require_relative 'boot'
require_relative "boot"

require "rails"
# Pick the frameworks you want:
Expand All @@ -23,7 +23,12 @@
module Dummy
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
case ENV.fetch("ALCHEMY_BRANCH", "main")
when /5\.3/
config.load_defaults 6.0
else
config.load_defaults 6.1
end

# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
Expand Down
Loading

0 comments on commit f229d3d

Please sign in to comment.