#9 Active Storage - GitHub workflow

This commit is contained in:
Karel Pičman 2025-10-24 13:38:35 +02:00
parent bf9624c054
commit 9f327f3e06

View File

@ -20,9 +20,9 @@
name: "GitHub CI" name: "GitHub CI"
on: on:
push: push:
branches: ["devel"] branches: ["active_storage"]
pull_request: pull_request:
branches: ["devel"] branches: ["active_storage"]
jobs: jobs:
plugin_tests: plugin_tests:
strategy: strategy:
@ -113,9 +113,10 @@ jobs:
run: | run: |
cd /opt/redmine cd /opt/redmine
echo "gem \"webrick\"" > Gemfile.local echo "gem \"webrick\"" > Gemfile.local
bundle config set --local without 'rmagick development xapian' bundle config set --local without 'development'
bundle install bundle install
bundle exec rake generate_secret_token bundle exec rake generate_secret_token
bundle exec rake active_storage:install
bundle exec rake db:migrate bundle exec rake db:migrate
bundle exec rake redmine:plugins:migrate bundle exec rake redmine:plugins:migrate
bundle exec rake redmine:load_default_data bundle exec rake redmine:load_default_data
@ -126,17 +127,26 @@ jobs:
# Add configuration for WebDAV to work # Add configuration for WebDAV to work
run: | run: |
cp /opt/redmine/config/additional_environment.rb.example /opt/redmine/config/additional_environment.rb cp /opt/redmine/config/additional_environment.rb.example /opt/redmine/config/additional_environment.rb
echo "# WebDAV" >> /opt/redmine/config/additional_environment.rb
echo "config.log_level = :info" >> /opt/redmine/config/additional_environment.rb echo "config.log_level = :info" >> /opt/redmine/config/additional_environment.rb
echo "# Redmine DMSF's WebDAV" >> /opt/redmine/config/additional_environment.rb echo "# Redmine DMSF's WebDAV" >> /opt/redmine/config/additional_environment.rb
echo "require \"#{Rails.root}/plugins/redmine_dmsf/lib/redmine_dmsf/webdav/custom_middleware\"" >> /opt/redmine/config/additional_environment.rb echo "require \"#{Rails.root}/plugins/redmine_dmsf/lib/redmine_dmsf/webdav/custom_middleware\"" >> /opt/redmine/config/additional_environment.rb
echo "config.middleware.insert_before ActionDispatch::Cookies, RedmineDmsf::Webdav::CustomMiddleware" >> /opt/redmine/config/additional_environment.rb echo "config.middleware.insert_before ActionDispatch::Cookies, RedmineDmsf::Webdav::CustomMiddleware" >> /opt/redmine/config/additional_environment.rb
- name: Configure Active Storage
# Add configuration for Active Storage to work
echo "# Active Storage" >> /opt/redmine/config/additional_environment.rb
echo "require 'active_storage/engine'" >> /opt/redmine/config/additional_environment.rb
echo "require Rails.root.join('plugins', 'redmine_dmsf', 'lib', 'redmine_dmsf', 'xapian_analyzer').to_s" >> /opt/redmine/config/additional_environment.rb
echo "config.active_storage.service = :test" >> /opt/redmine/config/additional_environment.rb
echo "config.active_storage.analyzers.append RedmineDmsf::XapianAnalyzer" >> /opt/redmine/config/additional_environment.rb
- name: Standard tests - name: Standard tests
# Run the tests # Run the tests
run: | run: |
cd /opt/redmine cd /opt/redmine
bundle exec rake redmine:plugins:test:units bundle exec rake redmine:plugins:test:units
bundle exec rake redmine:plugins:test:functionals bundle exec rake redmine:plugins:test:functionals
bundle exec rake redmine:plugins:test:integration # TODO:
# bundle exec rake redmine:plugins:test:integration
- name: Helpers tests - name: Helpers tests
run: | run: |
cd /opt/redmine cd /opt/redmine
@ -155,16 +165,17 @@ jobs:
# Run Litmus tests (Omit 'http' tests due to 'timeout waiting for interim response' and locks due to complex bogus conditional) # Run Litmus tests (Omit 'http' tests due to 'timeout waiting for interim response' and locks due to complex bogus conditional)
# Shutdown Webrick # Shutdown Webrick
# Clean up Redmine's environment from WebDAV testing # Clean up Redmine's environment from WebDAV testing
run: | # TODO:
cd /opt/redmine # run: |
bundle exec rake redmine:dmsf_webdav_test_on # cd /opt/redmine
bundle exec rails server -u webrick -e test -d # bundle exec rake redmine:dmsf_webdav_test_on
sleep 5 # bundle exec rails server -u webrick -e test -d
litmus http://localhost:3000/dmsf/webdav/dmsf_test_project admin admin # sleep 5
kill $(pgrep -f webrick) # litmus http://localhost:3000/dmsf/webdav/dmsf_test_project admin admin
bundle exec rake redmine:dmsf_webdav_test_off # kill $(pgrep -f webrick)
env: # bundle exec rake redmine:dmsf_webdav_test_off
TESTS: "basic copymove props" # env:
# TESTS: "basic copymove props"
- name: Cleanup - name: Cleanup
# Rollback plugin's changes to the database # Rollback plugin's changes to the database
# Stop the database engine # Stop the database engine