zulip/scripts/lib
Steve Howell 51f74a7fd8 provision: Manage digests more rigorously.
We now have two functions related to digests
for processes:

    is_digest_obsolete
    write_digest_file

In most cases we now **wait** to write the
digest file until after we've successfully
run a process with its new inputs.

In one place, for database migrations, we
continue to write the digest optimistically.
We'll want to fix this, but it requires a
little more code cleanup.

Here is the typical sequence of events:

    NEVER RUN -
        is_digest_obsolete returns True
        quickly (we don't compute a hash)

        write_digest_file does a write (duh)

    AFTER NO CHANGES -
        is_digest_obsolete returns False
        after reading one file for old
        hash and multiple files to compute
        hash

        most callers skip write_digest_file

        (no files are changed)

    AFTER SOME CHANGES -
        is_digest_obsolete returns False
        after doing full checks

        most callers call write_digest_file
        *after* running a process
2020-04-20 15:06:47 -07:00
..
third install-yarn: Fix buggy status check for the signature. 2018-04-09 15:09:37 -07:00
__init__.py Factor out venv-creating code from provision.py. 2016-06-21 11:25:41 -07:00
build-pgroonga provision: Added provision support for Ubuntu 20.04(Focal). 2020-03-17 14:57:14 -07:00
certbot-maybe-renew Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
check-upstart ci: Move backend and production tests to Ubuntu 16.04 (xenial). 2019-05-24 17:07:15 -07:00
check_rabbitmq_queue.py nagios: Fix use of wrong variable in check_rabbitmq_queue. 2020-04-10 13:48:16 -07:00
clean-unused-caches python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
clean_emoji_cache.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
clean_node_cache.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
clean_venv_cache.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
create-production-venv setup_venv: Used get_venv_dependencies() to return correct VENV dependencies. 2020-03-23 10:28:21 -07:00
create-thumbor-venv setup_venv: Replace virtualenv_args list with python2 bool. 2020-02-05 12:38:10 -08:00
email-mirror-postfix python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
hash_reqs.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
install install: Reduce the RAM limit to accommodate some definition of "2GB". 2020-01-24 12:35:37 -08:00
install-node install-node: Upgrade to Node.js 12.16.1, Yarn 1.22.4, nvm 0.35.3. 2020-03-26 21:34:47 -07:00
node_cache.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
pythonrc.py pythonrc: Clean up type ignores. 2019-08-09 16:39:16 -07:00
queue_workers.py setup_path_on_import: Replace with setup_path function. 2020-02-25 15:40:21 -08:00
setup-apt-repo provision: switch Focal to use PGroonga from PPA. 2020-03-31 15:02:31 -07:00
setup-apt-repo-debathena Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
setup-yum-repo setup-yum-repo: Add prod flag for doing IUS install on CentOS. 2019-01-05 15:49:02 -08:00
setup_path.py setup_path: Fix KeyError in setup_path for virtualenv ≥ 20. 2020-03-23 04:06:19 -07:00
setup_venv.py python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
unpack-zulip scripts/lib/unpack-zulip: Avoid shelling out for rm, mv, mkdir, ln. 2018-11-28 17:48:23 -08:00
upgrade-zulip scripts: Remove unused imports. 2019-02-02 17:02:58 -08:00
upgrade-zulip-from-git upgrade-zulip-from-git: Fetch tags to make version info more useful. 2019-06-23 23:10:47 -07:00
upgrade-zulip-stage-2 upgrade-zulip: Remove tsearch-extras on upgrade. 2020-04-15 15:18:44 -07:00
zulip_tools.py provision: Manage digests more rigorously. 2020-04-20 15:06:47 -07:00