`config/schedule.rb` defines entries for cron jobs. Every five minutes
it insert several delayed jobs via `script/enqueue`. A recent upgrade of
Postgresql (a year or two ago) made that script noisy. Every time we
insert a delayed job with that script it outputs:
INSERT 0 1
Standard output like this is seen as error message by cron an forwarded
to the unix user's local mailbox in `/var/mail/openfoodnetwork`. This
file grows over time and accumulates tens of thousands of error
messages, hiding any important failures.
This patch makes inserting delayed jobs quiet. A failure is still
reported.
The newest version of bundler is not compatible with our current version
of Ruby. This script helps to install the bundler version defined in
Gemfile.lock.
We used to have our own CI server, but now we are using Travis and
Semaphore. We don't need these scripts any more. And since
parallel_tests was removed in the previous commit, they are broken
anyway.
Now we ask the dev to create the "ofn" user as precondition. This is
way easier than developing a script that fits all possible setups.
It also stops requiring a particlar Postgres version. Although in
production we use 9.5 it is very unlikely we will use any
version-specific feature in the near future. This should make it a bit
easier for new devs to set up their environment.
It aims to aid new open source contributors on setting up their dev
env by means of a single command with meaningful output.
Although ofn-install ansible scripts also work for development we don't
want to add too much burden to those single-time beginner contributions.
Probably a better long term solution would be to add a job to clean
up old session data on the server, but this is a quick & dirty fix
to speed mirroring up on a slow connection.
The new `require_relative` command is much shorter and easier to read
then the previous:
-require File.expand_path('../config/application', __FILE__)
+require_relative 'config/application'
This version was dependent on the Australian environment. It is better
to call delayed_job directly from monit. The deployment repository has
been updated.
The CI scripts are configurable through the environment. They had
hardcoded configurations before. The Australian BuildKite setup will
need global environment variables like this:
STAGING_SSH_HOST=ofn-staging2
STAGING_CURRENT_PATH=/home/openfoodweb/apps/openfoodweb/current
STAGING_SERVICE=unicorn_openfoodweb
STAGING_DB_HOST=localhost
STAGING_DB_USER=openfoodweb
STAGING_DB=openfoodweb_production
PRODUCTION_REMOTE=production:/home/openfoodweb/apps/openfoodweb/current
Buildkite is running tags like branches. This caused `git branch`
commands to fail. The function got extended to handle tags as well.
Ideally, Buildkite will offer an option not to rebuild tags.