* Add Fastly whitelisted params * Create FastlyVCL::WhitelistedParams.update service * Add specs * Create rake task to call new service * Add rake task to setup script * Add documentatoin * Move sort inside params_to_array method * Rename VCL_REGEX to VCL_DELIMITER * Add PR URL to docs * Move snippet name to SNIPPET_NAME constant * Refactor setting content * Rename params_to_array to params_to_sorted_array * Change guard and log success on update - Return early if params are equal - Log success message to Rails.logger on update - Log params diff to Datadog * Return true explicitly * Move rake task execution from to release-tasks * Remove unnecessary environment guard in task * Remove duplicate code param * Refactor string from build_content * Remove reliance on sort * Reorder logging to implicitly return true * Update docs to reference release-script.sh * Update docs * Update whitelisted params * Fix params_updated? bug and add more specs * Remove duplicate param...oopsie!
23 lines
789 B
Bash
Executable file
23 lines
789 B
Bash
Executable file
#!/bin/bash
|
|
|
|
notify () {
|
|
FAILED_COMMAND="$(caller): ${BASH_COMMAND}" \
|
|
bundle exec rails runner "ReleasePhaseNotifier.ping_slack"
|
|
}
|
|
|
|
trap notify ERR
|
|
|
|
# enable echo mode (-x) and exit on error (-e)
|
|
# -E ensures that ERR traps get inherited by functions, command substitutions, and subshell environments.
|
|
set -Eex
|
|
|
|
# abort release if deploy status equals "blocked"
|
|
[[ $DEPLOY_STATUS = "blocked" ]] && echo "Deploy blocked" && exit 1
|
|
|
|
# runs migration for Postgres, setups/updates Elasticsearch
|
|
# and boots the app to check there are no errors
|
|
STATEMENT_TIMEOUT=180000 bundle exec rails db:migrate
|
|
bundle exec rake fastly:update_whitelisted_params
|
|
bundle exec rake search:setup
|
|
bundle exec rake data_updates:enqueue_data_update_worker
|
|
bundle exec rails runner "puts 'app load success'"
|