zulip/tools
Greg Price 9476a3a334 test-install: Give the host a direct view of the guest's /tmp/src/.
(This is a small fixup to the main change, which was accidentally
included in a previous commit:
  08bbd7e61 "settings: Slightly simplify EMAIL_BACKEND logic."
Oops.  See there for most of the changes described here.)

The installer works out of a release-tarball tree.  We typically want
to share this tree between successive test-install runs (with an rsync
or similar command to update source files of interest) because
rebuilding a release tree from scratch is slow.  But the installer
will munge the tree; so instead of directly bind-mounting the tree
into the container, we need to give it an overlay over the tree, as a
sandbox to play in.

Previously we used lxc-copy's `-m overlay=...` feature to do this,
mounting an overlay in the container.  But then sometimes in
development we want to reach in and edit some code in the tree,
e.g. before rerunning the installer after something failed.  Reaching
inside the container for this is a pain (`ssh` would add latency, and
I haven't installed sshd in the containers; and getting rsync to work
with `lxc-attach` was beyond what I could figure out in a few minutes
of fiddling); and editing the base tree often doesn't work.

So, create the overlay with our own `mount -t overlay`, and have
`lxc-copy` just bind-mount that in.  Now the host has direct access to
the same overlay which the guest is working from.

Also this makes it past time to help the user out in finding the fresh
names we've created: first the container, now this shared tree.  Print
those at the end, rather than make the user scroll to the top and find
the right `set -x` line to copy-paste from.
2018-01-29 10:27:11 -08:00
..
circleci/images circleci: Set up locale en_US.UTF-8. 2017-12-20 19:18:29 -08:00
documentation_crawler docs: Reorganize developer docs to improve navigation. 2017-11-16 09:45:08 -08:00
droplets droplets: Update snapshot id. 2017-11-29 14:24:08 -08:00
lib provision: Install virtualenv on xenial too. 2018-01-22 19:36:52 -08:00
linter_lib docs: Remove our forked RTD layout template. 2018-01-24 14:37:17 -08:00
setup provision: Remove transitional Python 2->3 logic in setup_venvs. 2017-12-18 21:59:51 -08:00
test-install test-install: Give the host a direct view of the guest's /tmp/src/. 2018-01-29 10:27:11 -08:00
tests lint: Fix tools tests. 2017-11-16 13:59:40 -08:00
travis Slack importer: Disable often-breaking test in CI. 2018-01-26 15:42:41 -08:00
zulip-export zulip-export: Convert to using argparse from optparse. 2017-11-10 15:54:02 -08:00
README.md docs: Update links to ReadTheDocs to always use https. 2017-11-16 10:59:24 -08:00
__init__.py
build-docs tools: Add wrapper tool 'build-docs' for building documentation. 2017-06-14 20:16:02 -07:00
build-release-tarball build-release-tarball: Improve help/error output. 2017-11-16 22:19:58 -08:00
check-capitalization docs: Update links from codebase to point to ReadTheDocs. 2017-11-16 10:53:49 -08:00
check-css css linter: Fix error reporting. 2018-01-03 13:26:55 -05:00
check-frontend-i18n tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
check-issue-labels refactor: Remove six.moves.configparser import. 2017-11-07 10:51:44 -08:00
check-provision check-provision: Replace optparse with argparse. 2017-09-30 09:32:46 -07:00
check-swagger lint: Ban non-unique operationIds in Swagger. 2017-06-26 22:02:26 -04:00
check-templates keyboard_shortcuts.html: Clean up to use 4 space indentation. 2018-01-27 16:06:36 -08:00
check-urls tools: Remove print_function. 2017-09-29 15:44:56 -07:00
clean-branches tools: Update clean-branches to clean review branches. 2017-06-01 21:55:33 -07:00
clean-repo clean-repo: Revert optimization to .pyc removal. 2017-07-30 17:24:55 -07:00
commit-message-lint docs: Fix spelling of Travis CI. 2017-07-31 09:36:22 -07:00
commit-msg lint: Check if commit message is not empty before running gitlint. 2017-06-25 11:29:14 -04:00
compile-handlebars-templates tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
conf.ini-template Add tool for scanning issues without area labels. 2017-02-03 09:59:35 -08:00
coveragerc coverage: Update pattern for __str__ for new typing syntax. 2017-11-22 12:16:58 -08:00
create-test-api-docs tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
deploy-branch
deployment-lock-ctl
diagnose requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30
django-template-graph
do-destroy-rebuild-database test_fixtures: Move test_db_status state under UUID_VAR_PATH. 2017-10-17 21:15:58 -07:00
do-destroy-rebuild-test-database
fetch-pull-request tools: Add script to see PRs as authors intended. 2017-06-01 21:55:08 -07:00
fetch-rebase-pull-request git tools: Make error messages more clear. 2017-05-08 10:51:59 -07:00
find-add-class tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
find-unused-css
generate-custom-icon-webfont Generate custom-icon-webfont on each provision or update-prod-static. 2017-11-20 16:36:49 -08:00
get-handlebar-vars tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
html-grep tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
inline-email-css Text-wrap the remaining long lines exceeding 110. 2017-11-15 10:58:03 -08:00
js-dep-visualizer.py tools: Remove print_function. 2017-09-29 15:44:56 -07:00
lint linter: Re-enable gitlint. 2017-12-18 09:36:47 -05:00
lister.py mypy: Use Python 3 type syntax in tools/lister.py. 2017-12-05 16:32:18 -08:00
minify-js tools: Remove print_function. 2017-09-29 15:44:56 -07:00
munge-postgres-logs tools: Remove `.pl` extension from user script. 2017-10-11 12:52:36 -07:00
optimize-svg tools: Add optimize-svg tool for checking for unoptimized SVG files. 2017-05-30 11:15:56 -07:00
pre-commit linter: Replace --pep8 with new --frontend/--backend options. 2017-08-27 13:50:53 -07:00
pretty-print-html tools: Remove print_function. 2017-09-29 15:44:56 -07:00
provision vagrant: Skip the shell virtualenv warning on provision. 2017-10-27 11:44:47 -07:00
release-tarball-exclude.txt build-release-tarball: Stop using .gitattributes. 2017-10-11 21:51:42 -07:00
renumber-migrations refactor: Remove six.moves.input import. 2017-11-07 10:51:44 -08:00
replace-tarball-shebang tools: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
replacer replacer: Run as script with python 3. 2017-10-05 10:07:54 -07:00
reset-to-pull-request git tools: Make error messages more clear. 2017-05-08 10:51:59 -07:00
review tools: Remove print_function. 2017-09-29 15:44:56 -07:00
run-dev-queue-processors tools: Remove absolute_import in most tools. 2017-09-29 12:28:43 -07:00
run-dev.py schedulemessages: Add delivery system for scheduled message. 2018-01-10 09:18:02 -05:00
run-mypy docs: Exclude Sphinx config file from mypy checking. 2018-01-23 14:28:56 -08:00
send-github-payloads json: Replace most use of simplejson with json. 2017-10-11 22:55:35 -07:00
setup-git-repo lint: Add checks for commit messages using gitlint. 2017-04-21 13:45:12 -07:00
show-profile-results mypy: Remove ignores for a few typeshed bugs fixed upstream. 2017-10-27 17:09:00 -07:00
start-dockers
stop-run-dev tools: Consistently use hyphen in user script names. 2017-10-11 12:52:36 -07:00
sync-translations tools: Add new script to sync translations. 2017-10-05 23:07:16 -07:00
test-all tools: Remove `.py` extensions from user scripts. 2017-10-11 12:52:36 -07:00
test-all-docker
test-api test-api: Fix tests to work with subdomains. 2017-10-02 13:31:22 -07:00
test-backend Slack importer: Add the slack to zulip data conversion files. 2017-12-27 07:50:53 -05:00
test-documentation circleci: Skip checking links in documentation for now. 2018-01-09 10:53:13 -08:00
test-help-documentation test-help-documentation: Pass use_db=True. 2017-11-16 13:44:53 -08:00
test-js-with-casper
test-js-with-node settings_user_groups.js: Add 100% node test coverage. 2018-01-20 08:01:06 -05:00
test-locked-requirements tools: Rewrite `test-locked-requirements` to be more performant. 2017-11-20 15:35:47 -08:00
test-migrations two_factor: Add configuration and URLs. 2017-11-28 15:21:40 -08:00
test-queue-worker-reload test-queue-worker-reload: Add wait to avoid race condition. 2018-01-05 08:24:57 -05:00
test-run-dev test-run-dev: Redirect stderr to STDOUT. 2018-01-01 09:42:11 -05:00
test-slack-importer slack importer: correct the implementation of unzipping slack data file. 2018-01-23 10:01:15 -05:00
test-tools tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
update-authors-json /team: Fetch zulip-js repository data. 2018-01-16 12:23:19 -05:00
update-locked-requirements requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30
update-prod-static datetimepicker: Add flatpickr lib as dependancy. 2018-01-19 11:33:11 -05:00
webpack tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
webpack.assets.json help: Merge api.js and help.js bundles to fix code blocks. 2017-10-30 22:53:17 -07:00
webpack.config.ts webpack: jQuery and underscore should be compilied normally to make errors readable. 2017-08-05 19:53:56 -07:00
zanitizer
zanitizer_config.pm.sample

README.md

This directory contains scripts that are used in building, managing, testing, and other forms of work in a Zulip development environment. Note that tools that are also useful in production belong in scripts/ or should be Django management commands.

For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.