From 7e214693e51d6df41176abe056ffb2737a5c1a19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 17:57:31 +0000 Subject: [PATCH 1/5] Bump bcrypt from 3.1.20 to 3.1.22 Bumps [bcrypt](https://github.com/bcrypt-ruby/bcrypt-ruby) from 3.1.20 to 3.1.22. - [Release notes](https://github.com/bcrypt-ruby/bcrypt-ruby/releases) - [Changelog](https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/CHANGELOG) - [Commits](https://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.22) --- updated-dependencies: - dependency-name: bcrypt dependency-version: 3.1.22 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f9e623380..df9a2c064 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,7 +158,7 @@ GEM ice_nine (~> 0.11.0) thread_safe (~> 0.3, >= 0.3.1) base64 (0.3.0) - bcrypt (3.1.20) + bcrypt (3.1.22) bigdecimal (4.1.0) bindata (2.5.1) bindex (0.8.1) From a4c178e519ef6ce7b677b0661fbde554dc0f2970 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 17:57:29 +0000 Subject: [PATCH 2/5] Bump devise from 4.9.4 to 5.0.3 Bumps [devise](https://github.com/heartcombo/devise) from 4.9.4 to 5.0.3. - [Release notes](https://github.com/heartcombo/devise/releases) - [Changelog](https://github.com/heartcombo/devise/blob/main/CHANGELOG.md) - [Commits](https://github.com/heartcombo/devise/compare/v4.9.4...v5.0.3) --- updated-dependencies: - dependency-name: devise dependency-version: 5.0.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index df9a2c064..d78d3005d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -208,10 +208,10 @@ GEM date (3.5.1) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devise (4.9.4) + devise (5.0.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) - railties (>= 4.1.0) + railties (>= 7.0) responders warden (~> 1.2.3) diff-lcs (1.6.2) @@ -344,7 +344,7 @@ GEM mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (6.0.2) + minitest (6.0.3) drb (~> 2.0) prism (~> 1.5) msgpack (1.8.0) @@ -432,7 +432,7 @@ GEM puma (6.6.1) nio4r (~> 2.0) racc (1.8.1) - rack (3.2.5) + rack (3.2.6) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (3.0.0) @@ -512,9 +512,9 @@ GEM io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) - responders (3.1.1) - actionpack (>= 5.2) - railties (>= 5.2) + responders (3.2.0) + actionpack (>= 7.0) + railties (>= 7.0) rexml (3.4.2) rolify (6.0.1) rspec-core (3.13.5) From ad3b13b54550efda2957652d17f2c8f53e00aa49 Mon Sep 17 00:00:00 2001 From: Shelley Nason Date: Tue, 14 Apr 2026 09:31:20 -0400 Subject: [PATCH 3/5] Log job names during daily_workflow for debugging --- .circleci/config.yml | 10 +++- .circleci/cron.sh | 107 ++++++++++++++++++++++++++----------------- 2 files changed, 74 insertions(+), 43 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0181c254e..225570647 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -203,8 +203,14 @@ jobs: sudo apt-get install -y cf8-cli cf -v - run: - name: Run CRON tasks - command: ./.circleci/cron.sh + name: Run CRON tasks for production + command: ./.circleci/cron.sh production + - run: + name: Run CRON tasks for demo + command: ./.circleci/cron.sh demo + - run: + name: Run CRON tasks for staging + command: ./.circleci/cron.sh staging workflows: daily_workflow: diff --git a/.circleci/cron.sh b/.circleci/cron.sh index d33ab8af7..97faacba9 100755 --- a/.circleci/cron.sh +++ b/.circleci/cron.sh @@ -7,23 +7,28 @@ set -e # Set # of failures to 0 F=0 +function run_scheduled_job() { + local app=$1 + local job=$2 + cf run-task $app --wait --name $job -c "rake scheduled_jobs:$job" || F=$((F+=1)) +} + function run_production_tasks() { # === PRODUCTION environment =================================================== echo "Running tasks in Production..." - PROD_TASK="cf run-task touchpoints-production-sidekiq-worker --wait -c" # Users - $PROD_TASK "rake scheduled_jobs:send_one_week_until_inactivation_warning" || F=$((F+=1)) - $PROD_TASK "rake scheduled_jobs:send_two_weeks_until_inactivation_warning" || F=$((F+=1)) - $PROD_TASK "rake scheduled_jobs:deactivate_inactive_users" || F=$((F+=1)) + run_scheduled_job "touchpoints-production-sidekiq-worker" "send_one_week_until_inactivation_warning" + run_scheduled_job "touchpoints-production-sidekiq-worker" "send_two_weeks_until_inactivation_warning" + run_scheduled_job "touchpoints-production-sidekiq-worker" "deactivate_inactive_users" # Forms - # $PROD_TASK "rake scheduled_jobs:send_daily_notifications" || F=$((F+=1)) - # $PROD_TASK "rake scheduled_jobs:send_weekly_notifications" || F=$((F+=1)) - # $PROD_TASK "rake scheduled_jobs:check_expiring_forms" || F=$((F+=1)) - # $PROD_TASK "rake scheduled_jobs:archive_forms" || F=$((F+=1)) - $PROD_TASK "rake scheduled_jobs:notify_form_managers_of_inactive_forms" || F=$((F+=1)) - # $PROD_TASK "rake scheduled_jobs:delete_submissions_trash" || F=$((F+=1)) + # run_task "touchpoints-production-sidekiq-worker" "rake scheduled_jobs:send_daily_notifications" + # run_task "touchpoints-production-sidekiq-worker" "rake scheduled_jobs:send_weekly_notifications" + # run_task "touchpoints-production-sidekiq-worker" "rake scheduled_jobs:check_expiring_forms" + # run_task "touchpoints-production-sidekiq-worker" "rake scheduled_jobs:archive_forms" + run_scheduled_job "touchpoints-production-sidekiq-worker" "notify_form_managers_of_inactive_forms" + # run_task "touchpoints-production-sidekiq-worker" "rake scheduled_jobs:delete_submissions_trash" echo "Production tasks have completed." } @@ -32,20 +37,18 @@ function run_staging_tasks() { # === STAGING environment ====================================================== echo "Running tasks in Staging..." - STAGING_TASK="cf run-task touchpoints-staging-sidekiq-worker --wait -c" - # Users - $STAGING_TASK "rake scheduled_jobs:send_one_week_until_inactivation_warning" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:send_two_weeks_until_inactivation_warning" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:deactivate_inactive_users" || F=$((F+=1)) + run_scheduled_job "touchpoints-staging-sidekiq-worker" "send_one_week_until_inactivation_warning" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "send_two_weeks_until_inactivation_warning" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "deactivate_inactive_users" # Forms - $STAGING_TASK "rake scheduled_jobs:send_daily_notifications" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:send_weekly_notifications" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:check_expiring_forms" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:archive_forms" || F=$((F+=1)) - $STAGING_TASK "rake scheduled_jobs:notify_form_managers_of_inactive_forms" || F=$((F+=1)) - # $STAGING_TASK "rake scheduled_jobs:delete_submissions_trash" || F=$((F+=1)) + run_scheduled_job "touchpoints-staging-sidekiq-worker" "send_daily_notifications" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "send_weekly_notifications" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "check_expiring_forms" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "archive_forms" + run_scheduled_job "touchpoints-staging-sidekiq-worker" "notify_form_managers_of_inactive_forms" + # run_task "touchpoints-staging-sidekiq-worker" "rake scheduled_jobs:delete_submissions_trash" echo "Staging tasks have completed." } @@ -53,34 +56,56 @@ function run_staging_tasks() { function run_demo_tasks() { # === DEMO environment ========================================================= echo "Running tasks in Demo..." - DEMO_TASK="cf run-task touchpoints-demo-sidekiq-worker --wait -c" # Users - $DEMO_TASK "rake scheduled_jobs:send_one_week_until_inactivation_warning" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:send_two_weeks_until_inactivation_warning" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:deactivate_inactive_users" || F=$((F+=1)) + run_scheduled_job "touchpoints-demo-sidekiq-worker" "send_one_week_until_inactivation_warning" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "send_two_weeks_until_inactivation_warning" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "deactivate_inactive_users" # Forms - $DEMO_TASK "rake scheduled_jobs:send_daily_notifications" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:send_weekly_notifications" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:check_expiring_forms" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:archive_forms" || F=$((F+=1)) - $DEMO_TASK "rake scheduled_jobs:notify_form_managers_of_inactive_forms" || F=$((F+=1)) - # $DEMO_TASK "rake scheduled_jobs:delete_submissions_trash" || F=$((F+=1)) + run_scheduled_job "touchpoints-demo-sidekiq-worker" "send_daily_notifications" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "send_weekly_notifications" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "check_expiring_forms" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "archive_forms" + run_scheduled_job "touchpoints-demo-sidekiq-worker" "notify_form_managers_of_inactive_forms" + # run_task "touchpoints-demo-sidekiq-worker" "rake scheduled_jobs:delete_submissions_trash" echo "Demo tasks have completed." } -echo "Logging into cloud.gov non-prod" -cf login -a $CF_API_ENDPOINT -u $CF_USERNAME -p $CF_PASSWORD -o $CF_ORG -s $CF_SPACE -run_staging_tasks -run_demo_tasks -cf logout - -echo "Logging into cloud.gov production environment" -cf login -a $CF_API_ENDPOINT -u $CF_PRODUCTION_SPACE_DEPLOYER_USERNAME -p $CF_PRODUCTION_SPACE_DEPLOYER_PASSWORD -o $CF_ORG -s prod -run_production_tasks -cf logout +TARGET_ENV="${1:-}" + +if [ -z "$TARGET_ENV" ]; then + echo "Usage: ./.circleci/cron.sh " + exit 1 +fi + + +case "$TARGET_ENV" in + production) + echo "Logging into cloud.gov production environment" + cf login -a $CF_API_ENDPOINT -u $CF_PRODUCTION_SPACE_DEPLOYER_USERNAME -p $CF_PRODUCTION_SPACE_DEPLOYER_PASSWORD -o $CF_ORG -s prod + run_production_tasks + cf logout + ;; + demo) + echo "Logging into cloud.gov non-prod" + cf login -a $CF_API_ENDPOINT -u $CF_USERNAME -p $CF_PASSWORD -o $CF_ORG -s $CF_SPACE + run_demo_tasks + cf logout + ;; + staging) + echo "Logging into cloud.gov non-prod" + cf login -a $CF_API_ENDPOINT -u $CF_USERNAME -p $CF_PASSWORD -o $CF_ORG -s $CF_SPACE + run_staging_tasks + cf logout + ;; + *) + echo "Unknown environment: $TARGET_ENV" + echo "Usage: ./.circleci/cron.sh " + exit 1 + ;; +esac echo "$0 exiting with failure count: $F" exit $F \ No newline at end of file From 78748d649d69452ed82be45e82b3bdedb63dab78 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 03:18:59 +0000 Subject: [PATCH 4/5] Bump rack-session from 2.1.1 to 2.1.2 Bumps [rack-session](https://github.com/rack/rack-session) from 2.1.1 to 2.1.2. - [Release notes](https://github.com/rack/rack-session/releases) - [Changelog](https://github.com/rack/rack-session/blob/main/releases.md) - [Commits](https://github.com/rack/rack-session/compare/v2.1.1...v2.1.2) --- updated-dependencies: - dependency-name: rack-session dependency-version: 2.1.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d78d3005d..9b94714bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -442,7 +442,7 @@ GEM base64 (>= 0.1.0) logger (>= 1.6.0) rack (>= 3.0.0, < 4) - rack-session (2.1.1) + rack-session (2.1.2) base64 (>= 0.1.0) rack (>= 3.0.0) rack-test (2.2.0) From 313f9bb75a1ecfe9c1b2def7dfaafa11f0b007c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 08:44:15 +0000 Subject: [PATCH 5/5] Bump addressable from 2.8.7 to 2.9.0 Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.8.7 to 2.9.0. - [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md) - [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.9.0) --- updated-dependencies: - dependency-name: addressable dependency-version: 2.9.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9b94714bc..4335655d7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -108,8 +108,8 @@ GEM acts-as-taggable-on (13.0.0) activerecord (>= 7.1, < 8.2) zeitwerk (>= 2.4, < 3.0) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) aes_key_wrap (1.1.0) ast (2.4.3) aws-actionmailer-ses (1.0.0) @@ -428,7 +428,7 @@ GEM psych (5.3.1) date stringio - public_suffix (6.0.2) + public_suffix (7.0.5) puma (6.6.1) nio4r (~> 2.0) racc (1.8.1)