diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index e20c1448f88b..8f94a1725d66 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -52,8 +52,9 @@ RUN ./docker/prod/setup/preinstall-common.sh # stuff required for gems COPY Gemfile Gemfile.* .ruby-version ./ COPY modules ./modules +# Add vendor for saas-openproject plugins COPY vendor ./vendor -# some gemspec files of plugins require files in there, notably OpenProject::Version +# Add lib in case a plugin tries to load VERSION file under lib COPY lib ./lib RUN \ @@ -74,11 +75,6 @@ RUN cp Gemfile.lock.bak Gemfile.lock && rm Gemfile.lock.bak RUN ./docker/prod/setup/precompile-assets.sh RUN ./docker/prod/setup/postinstall-common.sh -# We need this so puma is allowed to create the tmp/pids folder and -# temporary upload files when running with a uid other than 1000 (app) -# but with an allowed supplemental group (1000). -RUN tmp_path=$APP_PATH/tmp; (mkdir -p $tmp_path || true) && chown $APP_USER:$APP_USER $tmp_path && chmod g+rw $tmp_path - RUN cp ./config/database.production.yml config/database.yml RUN ln -s $APP_PATH/docker/prod/setup/.irbrc /home/$APP_USER/ diff --git a/docker/prod/setup/postinstall-common.sh b/docker/prod/setup/postinstall-common.sh index 3da98edb802a..b5c81dca833e 100755 --- a/docker/prod/setup/postinstall-common.sh +++ b/docker/prod/setup/postinstall-common.sh @@ -5,4 +5,15 @@ set -eox pipefail mkdir -p /tmp/op_uploaded_files/ && chown -R $APP_USER:$APP_USER /tmp/op_uploaded_files/ # Remove any existing config/database.yml -rm -f ./config/database.yml \ No newline at end of file +rm -f ./config/database.yml + +# We need this so puma is allowed to create the tmp/pids folder and +# temporary upload files when running with a uid other than 1000 (app) +# but with an allowed supplemental group (1000). +tmp_path="$APP_PATH/tmp" +# Remove any previously cached files from e.g., asset building +rm -rf "$tmp_path" +# Recreate and own it for the user for later files (PID etc. see above) +mkdir -p "$tmp_path" +chown -R $APP_USER:$APP_USER "$tmp_path" +chmod g+rw "$tmp_path" diff --git a/docs/release-notes/14-0-1/README.md b/docs/release-notes/14-0-1/README.md new file mode 100644 index 000000000000..1364e998dfc8 --- /dev/null +++ b/docs/release-notes/14-0-1/README.md @@ -0,0 +1,30 @@ +--- +title: OpenProject 14.0.1 +sidebar_navigation: + title: 14.0.1 +release_version: 14.0.1 +release_date: 2024-05-08 +--- + +# OpenProject 14.0.1 + +Release date: 2024-05-08 + +We released [OpenProject 14.0.1](https://community.openproject.org/versions/2039). +The release contains several bug fixes and we recommend updating to the newest version. + + + +## Bug fixes and changes + + + + +- Bugfix: uninitialized constant CostQuery::Filter::CustomField \[[#54500](https://community.openproject.org/wp/54500)\] +- Bugfix: openDesk setup script fails \[[#54558](https://community.openproject.org/wp/54558)\] +- Bugfix: Totals of non-parent work packages are updated when status is changed in administration \[[#54646](https://community.openproject.org/wp/54646)\] +- Bugfix: User receives email updates even if their account is permanently locked \[[#54714](https://community.openproject.org/wp/54714)\] +- Feature: Snappier progress popover \[[#54464](https://community.openproject.org/wp/54464)\] + + + diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index 211fa6628fd0..7d2e45d18ce1 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -13,6 +13,13 @@ Stay up to date and get an overview of the new features included in the releases +## 14.0.1 + +Release date: 2024-05-08 + +[Release Notes](14-0-1/) + + ## 14.0.0 Release date: 2024-04-24 diff --git a/modules/ldap_groups/lib/open_project/ldap_groups/engine.rb b/modules/ldap_groups/lib/open_project/ldap_groups/engine.rb index 50e9b44d4fdb..0296a0bb454f 100644 --- a/modules/ldap_groups/lib/open_project/ldap_groups/engine.rb +++ b/modules/ldap_groups/lib/open_project/ldap_groups/engine.rb @@ -21,9 +21,9 @@ class Engine < ::Rails::Engine add_cron_jobs do { - "Ldap::SynchronizationJob": { - cron: "30 23 * * *", # Run once per night at 11:30pm - class: Ldap::SynchronizationJob.name + "LdapGroups::SynchronizationJob": { + cron: "*/30 * * * *", # Run every 30 minutes + class: LdapGroups::SynchronizationJob.name } } end