zulip/docs
Steve Howell 7eb6d32d59 provision: Let build_emoji build its own cache.
We no longer need to maintain duplicate code
related to where we set up the emoji
cache directory.

And we no longer need two extra steps for
people doing advanced (i.e. manual) setup.

There was no clear benefit to having provision
build the cache directory for `build_emoji`,
when it was easy to make `build_emoji` more
self-sufficient.  The `build_emoji` tool
was already importing the library that has
`run_as_root`, and it was already responsible
for 99% of the create-directory kind of tasks.

(We always call `build_emoji` unconditionally from
`provision`, so there's no rationale in terms
of avoiding startup time or something.)

ASIDE:

Its not completely clear to me why we need
to put this directory in "/srv", instead of
somewhere more local (like we already do for
Travis), but maybe it's just to be like
its siblings in "/srv":

    node_modules
    yarn.lock
    zulip-emoji-cache
    zulip-npm-cache
    zulip-py3-venv
    zulip-thumbor-venv
    zulip-venv-cache
    zulip-yarn

I guess the caches that we keep in var are
dev-only, although I think some of what's under
`zulip-emoji-cache` is also dev-only in nature?

    ./var/webpack-cache
    ./var/mypy-cache

In `docs/subsystems/emoji.md` we say this:

```
The `build_emoji` tool generates the set of files under
`static/generated/emoji` (or really, it generates the
`/srv/zulip-emoji-cache/<sha1>/emoji` tree, and
`static/generated/emoji` is a symlink to that tree;we do this in
order to cache old versions to make provisioning and production
deployments super fast in the common case that we haven't changed the
emoji tooling). [...]
```

I don't really understand that rationale for the development
case, since `static/generated` is as much ignored by `git` as
'/srv' is, without the complications of needing `sudo` to create it.

And in production, I'm not sure how much time we're really saving,
as it takes me about 1.4s to fully rebuild the cache in dev, not to
mention we're taking on upgrade risk by sharing files between versions.
2020-04-17 09:53:26 -07:00
..
_static install docs: Tighten "create organization" step. 2018-03-06 19:43:02 -08:00
_templates docs: Split maintain-secure-upgrade into dedicated docs. 2019-11-22 10:21:20 -08:00
contributing docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
development provision: Let build_emoji build its own cache. 2020-04-17 09:53:26 -07:00
documentation docs: Add a note on manually generating integration screenshots. 2020-04-17 09:41:55 -07:00
git docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
images docs: Update docs/git/ directory to reflect CI changes. 2018-12-11 12:46:18 -08:00
overview docs: Update changelog for Zulip 2.1.4 release. 2020-04-16 16:20:58 -07:00
production docs: Deprecate support for Xenial and Stretch. 2020-04-16 15:36:18 -07:00
subsystems scripts: Rename inline-email-css to inline_email_css.py. 2020-04-10 15:29:47 -07:00
testing docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
translating docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
tutorials docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
.gitignore gitignore: Anchor patterns that should be anchored. 2017-07-19 14:03:49 -07:00
Makefile docs: Replace Makefile based on output of newer sphinx-quickstart. 2019-12-02 18:39:33 -08:00
README.md docs: Add README.md to zulip/docs to prevent reading on GitHub. 2018-04-24 10:50:39 -07:00
THIRDPARTY upload: Replace jQuery filedrop with Uppy. 2020-02-13 16:43:19 -08:00
code-of-conduct.md
conf.py python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
index.rst docs: Add missing index.rst for documentation/. 2019-05-29 17:54:02 -07:00
requirements.readthedocs.txt requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30

README.md

Zulip markdown documentation hosted elsewhere

The markdown files in this directory ( /zulip/docs ) are not intended to be read on GitHub. Instead, visit our ReadTheDocs to read the Zulip documentation.