Skip to content

Commit

Permalink
backport: k8s requirements (#29)
Browse files Browse the repository at this point in the history
* Add a matrix to system tests (#209)

* Add tests for rspec runner

* Log to stdout

* Add assets cache (#213)

* Remove commit sha from cache key

* Generate hash for assets

* Add packages

* Use cache hash as litteral

* Use lib assets as assets pattern

* Add task test:run_all

* Fix parallel execution

* Fix assets hash (#217)

* Upgrade workflow version

* Remove useless cache for yarn

* Remove useless key
# Conflicts:
#	.github/workflows/tests.yml
#	Gemfile.lock

* Refactor migrations tools (#329)

# Conflicts:
#	config/application.rb
#	lib/tasks/k8s.rake
#	lib/tasks/scaleway.rake

* Feat: add s3 host env (#341)

Co-authored-by: Armand Fardeau <[email protected]>

# Conflicts:
#	config/secrets.yml
#	config/storage.yml

* Remove duplicate entry (#323)

* Refactor Rack Attack configuration (#312)

* Add proxy and remote_ip to rack attack

* Add Rack Attack configuration

* Add unauthorized path for fail2ban

* Refactor Rack Attack configuration

* Load decidim-app config

* Fix rubocop offenses

* Allow to add proxy ip to Rack Attack and Action Dispatch safelist

* Add application.rb specs

* Update secrets.yml

* Add specs for DecidimApp config

* Add DecidimApp Rack Attack specs

* Remove spec file

* Add rack attack throttling specs

* Add specs for Fail2ban

* Revert changes in db/schema.rb

* Fix not interpreted error

* Remove trusted proxies configuration

* Remove trusted proxies configuration
# Conflicts:
#	config/initializers/decidim.rb
#	config/initializers/rack_attack.rb
#	config/locales/fr.yml

* Improves coverage (#330)

# Conflicts:
#	lib/initializers/sentry_setup.rb
#	spec/lib/sentry_setup_spec.rb

* Make task idempotent (#336)

Co-authored-by: Quentin Champenois <[email protected]>

* Add upgrade rake task (#337)

* Add upgrade task

* Add task

* Add pull request trigger (#342)

# Conflicts:
#	.github/workflows/ci_cd.yml

* Move to K8s namespace

# Conflicts:
#	lib/k8s_configuration_exporter.rb
#	lib/k8s_organization_exporter.rb
#	lib/tasks/decidim_app.rake
#	lib/tasks/k8s.rake
#	spec/lib/k8s/configuration_exporter_spec.rb
#	spec/lib/k8s/organization_exporter_spec.rb
#	spec/lib/tasks/decidim_app/k8s/export_configuration_tasks_spec.rb

* Fix dump_db task

* Fix dump path

* Use memcached store in production (#347)

# Conflicts:
#	docker-compose.yml

* Create organization, system admin and admin from YAML (#339)

Co-authored-by: Quentin Champenois <[email protected]>
Co-authored-by: quentinchampenois <[email protected]>

# Conflicts:
#	spec/lib/decidim/admin_creator_spec.rb
#	spec/lib/decidim/system_admin_creator_spec.rb
#	spec/lib/tasks/create_admin_task_spec.rb
#	spec/lib/tasks/create_system_admin_task_spec.rb

* Fix environment variables issue (#349)

* K8S - Check if secondary hosts are valid (#350)

* Fix secondary hosts checker (#351)

* K8S - Raise error if file does not exist (#353)

* Add install hook (#352)

* Use Rails cache instead of defining new one (#354)

* Update organization_exporter.rb (#357)

* Fix organization update (#356)

Co-authored-by: Quentin Champenois <[email protected]>

* Fix rack attack config (#358)

# Conflicts:
#	spec/system/confirmation_spec.rb

* Cleanup rake tasks (#288)

# Conflicts:
#	lib/tasks/restore_dump.rake

* Replace HTTPS tests with HTTP (#359)

Co-authored-by: Armand Fardeau <[email protected]>

* Fix invalid users (#361)

* Exlude healthchecks from ssl (#363)

# Conflicts:
#	config/environments/production.rb

* Fix export when smtp settings are nil (#362)

* Refactor migrations tools (#329)

# Conflicts:
#	spec/lib/tasks/scaleway/storage/migrate_from_local_task_spec.rb

* Refactor Rack Attack configuration (#312)

* Add proxy and remote_ip to rack attack

* Add Rack Attack configuration

* Add unauthorized path for fail2ban

* Refactor Rack Attack configuration

* Load decidim-app config

* Fix rubocop offenses

* Allow to add proxy ip to Rack Attack and Action Dispatch safelist

* Add application.rb specs

* Update secrets.yml

* Add specs for DecidimApp config

* Add DecidimApp Rack Attack specs

* Remove spec file

* Add rack attack throttling specs

* Add specs for Fail2ban

* Revert changes in db/schema.rb

* Fix not interpreted error

* Remove trusted proxies configuration

* Remove trusted proxies configuration
# Conflicts:
#	config/initializers/decidim.rb
#	config/initializers/rack_attack.rb
#	spec/lib/decidim_app/rack_attack/fail2ban_spec.rb
#	spec/lib/decidim_app/rack_attack_spec.rb

* Improves coverage (#330)

# Conflicts:
#	spec/lib/decidim_app/rack_attack/fail2ban_spec.rb

* Make task idempotent (#336)

Co-authored-by: Quentin Champenois <[email protected]>
# Conflicts:
#	lib/decidim/admin_creator.rb
#	lib/decidim/system_admin_creator.rb

* Add upgrade rake task (#337)

* Add upgrade task

* Add task

* Move to K8s namespace

# Conflicts:
#	lib/k8s_configuration_exporter.rb
#	lib/k8s_organization_exporter.rb
#	lib/tasks/decidim_app.rake
#	lib/tasks/k8s.rake
#	spec/lib/k8s/configuration_exporter_spec.rb
#	spec/lib/k8s/organization_exporter_spec.rb
#	spec/lib/tasks/decidim_app/k8s/export_configuration_tasks_spec.rb

* Fix dump_db task

* Fix dump path

* Create organization, system admin and admin from YAML (#339)

Co-authored-by: Quentin Champenois <[email protected]>
Co-authored-by: quentinchampenois <[email protected]>

# Conflicts:
#	lib/decidim_app/config.rb
#	lib/decidim_app/k8s/commands/organization.rb
#	lib/decidim_app/k8s/configuration.rb
#	lib/decidim_app/k8s/organization_exporter.rb
#	lib/decidim_app/rack_attack.rb
#	spec/fixtures/k8s_configuration_example.yml
#	spec/lib/decidim/admin_creator_spec.rb
#	spec/lib/decidim/system_admin_creator_spec.rb
#	spec/lib/decidim_app/k8s/commands/organization_spec.rb
#	spec/lib/decidim_app/k8s/configuration_spec.rb
#	spec/lib/decidim_app/k8s/organization_exporter_spec.rb
#	spec/lib/tasks/create_admin_task_spec.rb
#	spec/lib/tasks/create_system_admin_task_spec.rb
#	spec/lib/tasks/decidim_app/k8s/export_configuration_tasks_spec.rb
#	spec/lib/tasks/decidim_app/k8s/external_install_or_reload_task_spec.rb
#	spec/lib/tasks/scaleway/storage/migrate_from_local_task_spec.rb

* Fix environment variables issue (#349)

# Conflicts:
#	lib/decidim_app/k8s/organization_exporter.rb
#	spec/lib/decidim_app/k8s/organization_exporter_spec.rb

* K8S - Check if secondary hosts are valid (#350)

# Conflicts:
#	lib/decidim_app/k8s/secondary_hosts_checker.rb
#	spec/lib/decidim_app/k8s/secondary_hosts_checker_spec.rb

* Fix secondary hosts checker (#351)

# Conflicts:
#	lib/decidim_app/k8s/secondary_hosts_checker.rb
#	spec/lib/decidim_app/k8s/secondary_hosts_checker_spec.rb

* K8S - Raise error if file does not exist (#353)

# Conflicts:
#	spec/lib/tasks/decidim_app/k8s/external_install_or_reload_task_spec.rb

* Add install hook (#352)

* Use Rails cache instead of defining new one (#354)

* Update organization_exporter.rb (#357)

* Fix organization update (#356)

Co-authored-by: Quentin Champenois <[email protected]>

# Conflicts:
#	lib/decidim_app/k8s/commands/organization.rb
#	lib/decidim_app/k8s/configuration.rb
#	spec/fixtures/k8s_configuration_example.yml
#	spec/lib/decidim_app/k8s/commands/organization_spec.rb
#	spec/lib/decidim_app/k8s/configuration_spec.rb

* Fix rack attack config (#358)

# Conflicts:
#	lib/decidim_app/config.rb
#	lib/decidim_app/rack_attack.rb
#	spec/lib/decidim_app/rack_attack_spec.rb

* Cleanup rake tasks (#288)

# Conflicts:
#	app/services/decidim/repair_nickname_service.rb
#	lib/tasks/restore_dump.rake
#	spec/services/decidim/repair_nickname_service_spec.rb

* Replace HTTPS tests with HTTP (#359)

Co-authored-by: Armand Fardeau <[email protected]>

* Fix invalid users (#361)

# Conflicts:
#	app/services/decidim/repair_nickname_service.rb
#	spec/services/decidim/repair_nickname_service_spec.rb

* Fix export when smtp settings are nil (#362)

* Revert "Add pull request trigger (#342)"

This reverts commit b4eb3f084c6353792956398057ce615dfac6f374.

* Refactor migrations tools (#329)

# Conflicts:
#	spec/lib/tasks/scaleway/storage/migrate_from_local_task_spec.rb

* Refactor Rack Attack configuration (#312)

* Add proxy and remote_ip to rack attack

* Add Rack Attack configuration

* Add unauthorized path for fail2ban

* Refactor Rack Attack configuration

* Load decidim-app config

* Fix rubocop offenses

* Allow to add proxy ip to Rack Attack and Action Dispatch safelist

* Add application.rb specs

* Update secrets.yml

* Add specs for DecidimApp config

* Add DecidimApp Rack Attack specs

* Remove spec file

* Add rack attack throttling specs

* Add specs for Fail2ban

* Revert changes in db/schema.rb

* Fix not interpreted error

* Remove trusted proxies configuration

* Remove trusted proxies configuration
# Conflicts:
#	config/initializers/decidim.rb
#	config/initializers/rack_attack.rb
#	spec/lib/decidim_app/rack_attack/fail2ban_spec.rb
#	spec/lib/decidim_app/rack_attack_spec.rb

* Improves coverage (#330)

# Conflicts:
#	spec/lib/decidim_app/rack_attack/fail2ban_spec.rb

* Make task idempotent (#336)

Co-authored-by: Quentin Champenois <[email protected]>
# Conflicts:
#	lib/decidim/admin_creator.rb
#	lib/decidim/system_admin_creator.rb

* Add upgrade rake task (#337)

* Add upgrade task

* Add task

* Add pull request trigger (#342)

* Move to K8s namespace

# Conflicts:
#	lib/k8s_configuration_exporter.rb
#	lib/k8s_organization_exporter.rb
#	lib/tasks/decidim_app.rake
#	lib/tasks/k8s.rake
#	spec/lib/k8s/configuration_exporter_spec.rb
#	spec/lib/k8s/organization_exporter_spec.rb
#	spec/lib/tasks/decidim_app/k8s/export_configuration_tasks_spec.rb

* Fix dump_db task

* Fix dump path

* Create organization, system admin and admin from YAML (#339)

Co-authored-by: Quentin Champenois <[email protected]>
Co-authored-by: quentinchampenois <[email protected]>

# Conflicts:
#	lib/decidim_app/config.rb
#	lib/decidim_app/k8s/commands/organization.rb
#	lib/decidim_app/k8s/configuration.rb
#	lib/decidim_app/k8s/organization_exporter.rb
#	lib/decidim_app/rack_attack.rb
#	spec/fixtures/k8s_configuration_example.yml
#	spec/lib/decidim/admin_creator_spec.rb
#	spec/lib/decidim/system_admin_creator_spec.rb
#	spec/lib/decidim_app/k8s/commands/organization_spec.rb
#	spec/lib/decidim_app/k8s/configuration_spec.rb
#	spec/lib/decidim_app/k8s/organization_exporter_spec.rb
#	spec/lib/tasks/create_admin_task_spec.rb
#	spec/lib/tasks/create_system_admin_task_spec.rb
#	spec/lib/tasks/decidim_app/k8s/export_configuration_tasks_spec.rb
#	spec/lib/tasks/decidim_app/k8s/external_install_or_reload_task_spec.rb
#	spec/lib/tasks/scaleway/storage/migrate_from_local_task_spec.rb

* Fix environment variables issue (#349)

# Conflicts:
#	lib/decidim_app/k8s/organization_exporter.rb
#	spec/lib/decidim_app/k8s/organization_exporter_spec.rb

* K8S - Check if secondary hosts are valid (#350)

# Conflicts:
#	lib/decidim_app/k8s/secondary_hosts_checker.rb
#	spec/lib/decidim_app/k8s/secondary_hosts_checker_spec.rb

* Fix secondary hosts checker (#351)

# Conflicts:
#	lib/decidim_app/k8s/secondary_hosts_checker.rb
#	spec/lib/decidim_app/k8s/secondary_hosts_checker_spec.rb

* K8S - Raise error if file does not exist (#353)

# Conflicts:
#	spec/lib/tasks/decidim_app/k8s/external_install_or_reload_task_spec.rb

* Add install hook (#352)

* Use Rails cache instead of defining new one (#354)

* Update organization_exporter.rb (#357)

* Fix organization update (#356)

Co-authored-by: Quentin Champenois <[email protected]>

# Conflicts:
#	lib/decidim_app/k8s/commands/organization.rb
#	lib/decidim_app/k8s/configuration.rb
#	spec/fixtures/k8s_configuration_example.yml
#	spec/lib/decidim_app/k8s/commands/organization_spec.rb
#	spec/lib/decidim_app/k8s/configuration_spec.rb

* Fix rack attack config (#358)

# Conflicts:
#	lib/decidim_app/config.rb
#	lib/decidim_app/rack_attack.rb
#	spec/lib/decidim_app/rack_attack_spec.rb

* Cleanup rake tasks (#288)

# Conflicts:
#	app/services/decidim/repair_nickname_service.rb
#	lib/tasks/restore_dump.rake
#	spec/services/decidim/repair_nickname_service_spec.rb

* Replace HTTPS tests with HTTP (#359)

Co-authored-by: Armand Fardeau <[email protected]>

* Fix invalid users (#361)

# Conflicts:
#	app/services/decidim/repair_nickname_service.rb
#	spec/services/decidim/repair_nickname_service_spec.rb

* Fix export when smtp settings are nil (#362)

* Revert "Add pull request trigger (#342)"

This reverts commit b4eb3f084c6353792956398057ce615dfac6f374.

* Fix offenses

* Fix sidekiq

* Add editor images controller

* add locales

* Update docker-compose

* fix: revert locales

* fix: Fix editor images specs

* ref: Remove not necessary locales condition

---------

Co-authored-by: Pierre Ozoux <[email protected]>
Co-authored-by: Quentin Champenois <[email protected]>
Co-authored-by: moustachu <[email protected]>
Co-authored-by: AyakorK <[email protected]>
Co-authored-by: quentinchampenois <[email protected]>
  • Loading branch information
6 people authored Jul 25, 2023
1 parent 2bbc528 commit 7a2a413
Show file tree
Hide file tree
Showing 85 changed files with 12,290 additions and 9,456 deletions.
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ node_modules
public/uploads
deploy
.rubocop*
.overloads
.erb-lint.yml
.env-example
.env
Expand Down
131 changes: 103 additions & 28 deletions .github/workflows/ci_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,20 @@ env:
RAILS_ENV: test
NODE_VERSION: 16.9.1
RUBYOPT: '-W:no-deprecated'
# Set locales available for i18n tasks
ENFORCED_LOCALES: "en,fr"
AVAILABLE_LOCALES: "en,fr"

jobs:
todo:
name: TODO
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
- name: "TODO to Issue"
uses: "alstr/todo-to-issue-action@v4"
lint:
name: Lint code
runs-on: ubuntu-latest
Expand All @@ -26,13 +38,81 @@ jobs:
ruby_version: ${{ env.RUBY_VERSION }}
node_version: ${{ env.NODE_VERSION }}
tests:
strategy:
fail-fast: false
matrix:
slice: [ "0-2", "1-2" ]
name: Tests
runs-on: ubuntu-latest
if: "!startsWith(github.head_ref, 'chore/l10n')"
services:
postgres:
image: postgres:11
ports: [ "5432:5432" ]
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_PASSWORD: postgres
env:
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: postgres
DATABASE_HOST: localhost
steps:
- uses: rokroskar/[email protected]
if: "github.ref != 'refs/heads/master' || github.ref != 'refs/heads/develop'"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: yarn install --prefer-offline --frozen-lockfile
- name: Create db
run: |
bundle exec rails parallel:create parallel:migrate
- name: Register cache hash
id: cache-hash
run: |
echo "::set-output name=hash::$(bundle exec rake test:assets_hash)"
- uses: OpenSourcePolitics/cache-precompile-action@master
with:
key: asset-cache-${{ runner.os }}-${{ steps.cache-hash.outputs.hash }}
- run: mkdir -p ./spec/tmp/screenshots
name: Create the screenshots folder
- uses: nanasess/[email protected]
- run: bundle exec rake "test:run[exclude, spec/system/**/*_spec.rb, ${{ matrix.slice }}]"
name: RSpec
- run: ./.github/upload_coverage.sh decidim-app $GITHUB_EVENT_PATH
name: Upload coverage
- uses: actions/upload-artifact@v3
if: always()
with:
name: screenshots
path: ./spec/tmp/screenshots
- uses: actions/upload-artifact@v3
if: always()
with:
name: assets-manifest-${{ matrix.slice }}
path: ./tmp/assets_manifest.json
system_tests:
strategy:
matrix:
slice: [ "0-4", "1-4", "2-4", "3-4" ]
name: System tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
Expand All @@ -44,54 +124,50 @@ jobs:
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: postgres
DATABASE_HOST: localhost
RAILS_ENV: test
# Set locales available for i18n tasks
ENFORCED_LOCALES: "en,fr"
steps:
- uses: rokroskar/[email protected]
if: "github.ref != 'refs/heads/master' || github.ref != 'refs/heads/develop'"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2.0.0
- uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
- uses: actions/setup-node@v1
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- name: Get Yarn cache directory
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Use Yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --prefer-offline --frozen-lockfile
- name: Create db
run: |
bundle exec rails db:create
bundle exec rails db:migrate
- name: Precompile assets
bundle exec rails parallel:create parallel:migrate
- name: Register cache hash
id: cache-hash
run: |
bundle exec rake assets:precompile
echo "::set-output name=hash::$(bundle exec rake test:assets_hash)"
- uses: OpenSourcePolitics/cache-precompile-action@master
with:
key: asset-cache-${{ runner.os }}-${{ steps.cache-hash.outputs.hash }}
- run: mkdir -p ./spec/tmp/screenshots
name: Create the screenshots folder
- uses: nanasess/[email protected]
- run: bundle exec rspec
- run: bundle exec rake "test:run[include, spec/system/**/*_spec.rb, ${{ matrix.slice }}]"
name: RSpec
- run: ./.github/upload_coverage.sh $DECIDIM_MODULE $GITHUB_EVENT_PATH
- run: ./.github/upload_coverage.sh decidim-app $GITHUB_EVENT_PATH
name: Upload coverage
- uses: actions/upload-artifact@v2-preview
- uses: actions/upload-artifact@v3
if: always()
with:
name: screenshots
path: ./spec/decidim_dummy_app/tmp/screenshots
path: ./spec/tmp/screenshots
- uses: actions/upload-artifact@v3
if: always()
with:
name: assets-manifest-${{ matrix.slice }}
path: ./tmp/assets_manifest.json
test_build:
name: Test build docker image
runs-on: ubuntu-latest
Expand Down Expand Up @@ -124,7 +200,7 @@ jobs:
build_and_push_image_dev:
name: Build and push image to Registry
if: "github.ref == 'refs/heads/develop'"
needs: [ lint, tests, test_build ]
needs: [lint, tests, system_tests, test_build]
runs-on: ubuntu-latest
steps:
- uses: OpenSourcePolitics/build-and-push-images-action@master
Expand All @@ -136,13 +212,13 @@ jobs:
tag: "develop"
generate_release:
name: Generate release
needs: [ lint, tests, test_build ]
needs: [lint, tests, system_tests, test_build]
if: "github.ref == 'refs/heads/master'"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: mathieudutour/[email protected]
name: Bump vaersion and push tag
name: Bump version and push tag
id: tag_version
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -160,4 +236,3 @@ jobs:
password: ${{ secrets.TOKEN }}
image_name: ${{ vars.IMAGE_NAME }}
tag: ${{ steps.tag_version.outputs.new_tag }}

4 changes: 4 additions & 0 deletions .rubocop_ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1098,6 +1098,10 @@ Style/WordArray:
# The regular expression WordRegex decides what is considered a word.
WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'

Style/MutableConstant:
Exclude:
- "bin/overloads"

##################### Metrics ##################################

Metrics/AbcSize:
Expand Down
68 changes: 38 additions & 30 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,43 @@

source "https://rubygems.org"

DECIDIM_VERSION = "release/0.26-stable"
DECIDIM_VERSION = "0.26"
DECIDIM_BRANCH = "release/#{DECIDIM_VERSION}-stable"

ruby RUBY_VERSION

gem "decidim", git: "https://github.com/decidim/decidim.git", branch: DECIDIM_VERSION
# Many gems depend on environment variables, so we load them as soon as possible
gem "dotenv-rails", require: "dotenv/rails-now"

# gem "acts_as_textcaptcha", "~> 4.5.1"
# gem "decidim-homepage_interactive_map", git: "https://github.com/OpenSourcePolitics/decidim-module-homepage_interactive_map.git", branch: "bump/0.25-stable"
gem "decidim-phone_authorization_handler", git: "https://github.com/OpenSourcePolitics/decidim-module_phone_authorization_handler", branch: "release/0.26-stable"
# gem "decidim-question_captcha", git: "https://github.com/OpenSourcePolitics/decidim-module-question_captcha.git", branch: DECIDIM_VERSION
gem "decidim-spam_detection", git: "https://github.com/OpenSourcePolitics/decidim-spam_detection.git"
gem "decidim-templates"
gem "decidim-term_customizer", git: "https://github.com/mainio/decidim-module-term_customizer.git"
gem "omniauth-france_connect", git: "https://github.com/OpenSourcePolitics/omniauth-france_connect"
gem "omniauth-publik", git: "https://github.com/OpenSourcePolitics/omniauth-publik"
# Core gems
gem "decidim", "~> #{DECIDIM_VERSION}.0"
gem "decidim-templates", "~> #{DECIDIM_VERSION}.0"

gem "decidim-decidim_awesome", "0.8.3"
gem "decidim-friendly_signup", "0.4.4"
# External Decidim gems
gem "decidim-cache_cleaner"
gem "decidim-decidim_awesome"
gem "decidim-friendly_signup", git: "https://github.com/OpenSourcePolitics/decidim-module-friendly_signup.git"
gem "decidim-phone_authorization_handler", git: "https://github.com/OpenSourcePolitics/decidim-module_phone_authorization_handler", branch: DECIDIM_BRANCH
gem "decidim-spam_detection"
gem "decidim-term_customizer", git: "https://github.com/armandfardeau/decidim-module-term_customizer.git", branch: "fix/precompile-on-docker-0.26"

gem "dotenv-rails"
# Omniauth gems
gem "omniauth-france_connect", git: "https://github.com/OpenSourcePolitics/omniauth-france_connect"
gem "omniauth-publik", git: "https://github.com/OpenSourcePolitics/omniauth-publik"

# Default
gem "activejob-uniqueness", require: "active_job/uniqueness/sidekiq_patch"
gem "aws-sdk-s3", require: false
gem "bootsnap", "~> 1.4"
gem "foundation_rails_helper", git: "https://github.com/sgruhier/foundation_rails_helper.git"

gem "puma", ">= 5.5.1"

gem "faker", "~> 2.14"

gem "activejob-uniqueness", require: "active_job/uniqueness/sidekiq_patch"
gem "fog-aws"
gem "foundation_rails_helper", git: "https://github.com/sgruhier/foundation_rails_helper.git"
gem "nokogiri", "1.13.4"
gem "omniauth-rails_csrf_protection", "~> 1.0"
gem "puma", ">= 5.5.1"
gem "rack-attack", "~> 6.6"
gem "sys-filesystem"

group :development, :test do
gem "brakeman", "~> 5.1"
gem "byebug", "~> 11.0", platform: :mri
gem "climate_control", "~> 1.2"
gem "decidim-dev", git: "https://github.com/decidim/decidim.git", branch: DECIDIM_VERSION
end

group :development do
gem "letter_opener_web", "~> 1.3"
gem "listen", "~> 3.1"
Expand All @@ -50,13 +48,23 @@ group :development do
gem "web-console", "4.0.4"
end

group :development, :test do
gem "brakeman", "~> 5.1"
gem "byebug", "~> 11.0", platform: :mri
gem "climate_control", "~> 1.2"
gem "decidim-dev", "~> #{DECIDIM_VERSION}.0"
gem "parallel_tests"
end

group :production do
gem "dalli"
gem "health_check", "~> 3.1"
gem "lograge"
gem "passenger"
gem "sendgrid-ruby"
gem "sidekiq"
gem "sentry-rails"
gem "sentry-ruby"
gem "sentry-sidekiq"
gem "sidekiq", "~> 6.0"
gem "sidekiq_alive", "~> 2.2"
gem "sidekiq-scheduler"
gem "sidekiq-scheduler", "~> 5.0"
end
Loading

0 comments on commit 7a2a413

Please sign in to comment.