Steve Howell
3b5c187f55
Add tools/check-css and tools/lib/css_parser.py.
...
`tools/lint-all` now calls the new `tools/check-css`
The css_parser library parsers CSS into a data structure
that remembers line numbers and columns of semantically
meaningful tokens and adjoining white space/tokens. It
is intended to be used for various linting tasks.
The file `tools/check-css` runs a few files through the
parser and makes sure they round trip. This has some value
right away, as files that fail to parse will cause an
exception to be thrown and thus alert developers to syntax
errors. We expect to grow this into more advanced linting
tasks eventually.
2016-08-02 16:22:46 -07:00
Taranjeet Singh
b82836a901
tools/setup/emoji_dump/emoji_dump.py: Move bitmaps & *.ttx to var/.
...
Also update .gitignore to remove the old .gitignore markings for
these files' old locations.
2016-08-02 15:18:36 -07:00
Tim Abbott
0ee3178167
Move update-deployment to scripts/deploy-zulip-from-git.
2016-08-02 14:31:07 -07:00
Tim Abbott
fef32af28c
update-deployment: Switch to using update-zulip-part-2.
2016-08-02 14:31:07 -07:00
Steve Howell
9151ee42e9
Extract tools/lib/template_parser.py.
2016-08-01 16:27:50 -07:00
Steve Howell
9951e92b3b
Extract tokenize() in tools/check-templates.
2016-08-01 16:05:07 -07:00
Steve Howell
7e772ed644
Clean up code in check-templates.
...
I extracted a few helper methods.
2016-08-01 16:05:07 -07:00
Tim Abbott
75b5d021fa
Remove unused puppet-common third-party module code.
2016-07-31 19:24:42 -07:00
Tim Abbott
143575a5bd
provision: Fetch tsearch_extras package from Zulip apt repository.
...
This fixes installing a Zulip development environment on Ubuntu Xenial.
2016-07-30 21:01:07 -07:00
Steve Howell
6a65b3482c
Move index.js to frontend_tests/zjsunit.
2016-07-30 14:54:30 -07:00
Tim Abbott
f0bf883772
provision: Retry node_modules setup on failures.
...
`npm install` fails nondeterministically occasionally, and this makes
such failures likely to be automatically resolved in most cases by
simple retrying.
2016-07-30 10:09:23 -07:00
Tim Abbott
315766ae02
provision: Provide a nice success message.
2016-07-30 10:09:23 -07:00
Tim Abbott
ed95c34b83
check-templates: Remove now-removed terms.html.
2016-07-30 09:56:54 -07:00
Steve Howell
8b13530712
Add tools/analyze-url-coverage
2016-07-29 21:23:33 -07:00
Steve Howell
21f83afe3a
Add --url-coverage option to ./tools/test-backend.
2016-07-29 21:23:33 -07:00
Steve Howell
4556bf528f
Add --report-slow-tests option to tools/test-backend.
2016-07-29 16:41:20 -07:00
Steve Howell
f3962994b5
Fix regression for running migrations during tests.
...
When running ./tools/test-backend, the script to generate
fixtures, ./tools/setup/generate-fixtures, looks for a file
called migration-status to determine whether it can short
circuit doing database migrations. This file got moved as
part of the effort to put files in "var," but the existence
check was still looking for that file in its old location.
2016-07-29 08:57:56 -07:00
Tim Abbott
568dd0e142
lint-all: Improve regular expression for json_error.
2016-07-28 16:19:55 -07:00
Umair Khan
1a6e8282c8
Run 'check_send_receive_time' as 'zulip' user.
...
Run '/puppet/zulip/files/nagios_plugins/zulip_app_frontend/check_send_receive_time'
script as 'zulip' user so that the connection to the database can be
made correctly.
2016-07-28 13:39:29 -07:00
Steve Howell
713797a65c
Add lint checks for self.client.{get,patch,put,post,delete}.
2016-07-27 20:50:54 -07:00
Tim Abbott
c2bed83a84
run-dev: Hardcode 127.0.0.1 rather than localhost.
...
Using "localhost" is problematic in Travis CI, where they have
/etc/hosts configured to make `localhost` resolve to both 127.0.0.1
and ::1.
2016-07-27 11:39:12 -07:00
Eklavya Sharma
97d877f49e
tools/: Make subprocess calls unicode-aware.
2016-07-26 12:06:41 -07:00
Taranjeet Singh
1328a10069
Move available-migration and migration-status to var/.
2016-07-25 14:39:35 -07:00
Taranjeet Singh
b143d6ca6e
Move test_credentials.js to var/casper.
2016-07-25 14:39:23 -07:00
Eklavya Sharma
29af1419db
Make tools/update-deployment pass mypy check.
2016-07-25 22:06:05 +05:30
Eklavya Sharma
b08d6769c1
tools/zulip-export/zulip-export: Fix how files are opened.
...
Instead of using codecs.open, use the builtin open in binary mode
and write data after encoding it in utf-8.
2016-07-24 22:32:08 +05:30
Eklavya Sharma
df7dcdda5f
Annotate tools/get-handlebar-vars.
2016-07-24 22:12:32 +05:30
Eklavya Sharma
61ffd835e1
Annotate tools/minify-js.
2016-07-24 21:58:02 +05:30
Eklavya Sharma
1e0a971178
Annotate tools/test-run-dev.
2016-07-24 21:33:40 +05:30
Eklavya Sharma
7edc38bbf7
Remove tools/test-js-with-casper from mypy exclude list.
2016-07-24 21:07:07 +05:30
Eklavya Sharma
e6264fa6fb
Annotate tools/compile-handlebars-templates.
2016-07-24 21:07:06 +05:30
Eklavya Sharma
1a77b599f6
Make tools/post-receive python 3 compatible.
2016-07-24 21:07:06 +05:30
Eklavya Sharma
00a120c34f
Improve a string in tools/post-receive.
2016-07-24 21:07:02 +05:30
Eklavya Sharma
ab8890b304
Annotate tools/check-templates.
2016-07-24 21:04:32 +05:30
Eklavya Sharma
2f889550cb
tools/check-templates: Use __init__ in Record.
...
Initialize Record by using __init__ instead of setting attributes
in validate. This is needed because mypy complains when we set
new attributes outside __init__.
2016-07-24 21:04:32 +05:30
Eklavya Sharma
ecf2249536
tools/check-templates: Set modified's default to False.
...
Set default value of options.modified to False.
2016-07-24 21:04:31 +05:30
Eklavya Sharma
9c177fcd1b
tools/check-templates: Remove unneeded return.
2016-07-24 21:04:31 +05:30
Eklavya Sharma
bd0fa3e77b
Annotate tools/lint-all.
2016-07-24 21:04:31 +05:30
Eklavya Sharma
ec6b630537
Make tools/run-mypy pass mypy check.
2016-07-24 21:04:22 +05:30
Eklavya Sharma
3d87c376c2
Make zulip-ec2-configure-interfaces pass mypy check.
2016-07-24 12:52:58 +05:30
Eklavya Sharma
0a5aa2ccc7
Make check_send_receive_time pass mypy check.
2016-07-24 12:41:06 +05:30
Eklavya Sharma
1820f961b3
frontend_tests/run-casper: Fix annotations.
2016-07-24 10:52:54 +05:30
Taranjeet Singh
5e34e5bf40
iframe-bot/show-last-messages: Fix line with length greater than 120.
2016-07-23 14:33:11 -07:00
Eklavya Sharma
11732f9ab0
Make all scripts in scripts/ pass mypy check.
2016-07-24 00:17:21 +05:30
Tim Abbott
226a57d2c8
travis: Disable test-queue-worker-reload temporarily.
...
It's failing nondetermistically pretty often, and I'd like to cut the
impact to other users' work.
2016-07-22 11:36:52 -07:00
Eklavya Sharma
fb59a07a89
Run mypy on extensionless python scripts in Travis.
2016-07-22 11:16:29 -07:00
Eklavya Sharma
f4c557d2a7
tools/run-mypy: Exclude scripts which don't pass mypy.
2016-07-22 11:16:29 -07:00
Eklavya Sharma
c12db5246d
Use separate exclude list for scripts.
2016-07-22 11:16:29 -07:00
Eklavya Sharma
102fcda4ab
tools/run-mypy: Add option --scripts-only.
...
This option is for checking only extensionless python scripts.
2016-07-22 11:16:29 -07:00
Eklavya Sharma
baa157344c
Patch activate script only in development.
2016-07-21 14:11:41 -07:00
Tim Abbott
30dd8cfd4a
test-queue-worker-reload: Increase sleep resolution.
2016-07-21 10:21:29 -07:00
Umair Khan
7d687b0f79
Increase the timeout in test-queue-worker-reload.
...
May fix #1341 .
2016-07-21 10:19:49 -07:00
Eklavya Sharma
7bd935bef2
Add option to only show extensionless files in lister.
2016-07-21 16:59:52 +05:30
Taranjeet Singh
44d23975ed
Move update-prod-static.log to var/log.
2016-07-20 18:27:44 -07:00
Eklavya Sharma
6548f1dd1c
Factor out venv-installing code into a module.
...
Factor out the code in tools/provision.py which installs a python2
and python3 venv into a module (tools/setup/setup_venvs.py) which
can also be used as a script.
2016-07-20 18:20:37 -07:00
Eklavya Sharma
2930a769a9
Add __init__.py to tools/ and tools/setup/.
...
This will make it possible to import stuff from tools/setup/.
2016-07-20 18:20:37 -07:00
Tim Abbott
a07eca2639
Revert "Factor out venv-installation into a script."
...
This reverts commit 852c49a44e
.
I think this may have broken provisioning without a venv.
2016-07-20 14:55:45 -07:00
Eklavya Sharma
852c49a44e
Factor out venv-installation into a script.
2016-07-20 14:18:51 -07:00
Tim Abbott
741c21c3ce
update_deployment: Make git repository URL configurable.
2016-07-19 21:02:47 -07:00
Tim Abbott
a5a79280cb
update_deployment: Add symlink for use in voyager installs.
2016-07-19 20:59:59 -07:00
Tim Abbott
35339f5117
Rename local_settings_template to prod_settings_template.
2016-07-19 20:59:59 -07:00
Tim Abbott
19b860ceec
Rename local_settings.py symlink to prod_settings.py.
2016-07-19 20:59:59 -07:00
Tim Abbott
82f9f8f941
update-deployment: Compute ZULIP_COM setting.
2016-07-19 20:52:08 -07:00
Tim Abbott
7348841e65
update-prod-static: Copy static/locale rather than moving.
...
The old behavior results in a large diff when deploying based on a git
commit.
2016-07-19 20:52:08 -07:00
Tim Abbott
28fa4e8346
build_release_tarball: Remove local_settings.py overwrite hack.
2016-07-19 20:52:06 -07:00
Tim Abbott
78a0c7c557
tools: Rewrite install-server to not hardcode configuration.
...
Now install-aws-server is a reusable script for setting up a Zulip
role server in AWS, without any hardcoded configuration.
2016-07-19 20:12:43 -07:00
Eklavya Sharma
d745f20b1b
Run frontend and backend tests in python3 on Travis.
2016-07-19 14:15:35 -07:00
Eklavya Sharma
fd007c4554
Make tools/test-run-dev python3 compatible.
...
Use universal_newlines=True with subprocess.check_output in
tools/test-run-dev.
2016-07-19 14:15:35 -07:00
Eklavya Sharma
e86539649c
Use tools/travis/activate-venv in test suites.
2016-07-19 14:15:35 -07:00
Eklavya Sharma
5054a8d6c9
tools/run-dev.py: Use twisted venv if on python 3.
2016-07-19 14:15:35 -07:00
Eklavya Sharma
cfed816a52
tools/provision.py: Install a python2 venv with twisted.
...
Twisted is not python 3 compatible. So for now create a python2
venv and install twisted in it when running provision.py in python3
mode and use twisted from the python2 venv.
2016-07-19 14:15:35 -07:00
Eklavya Sharma
9c66cb7130
tools/provision.py: Install both py2 and py3 venvs.
...
Install both python2 and python3 venvs in tools/provision.py by
default. Use old behavior when run with --travis to save time.
2016-07-19 23:39:50 +05:30
Eklavya Sharma
eb43f7f581
tools/provision.py: Factor out "--travis" in sys.argv.
2016-07-19 23:39:50 +05:30
Tim Abbott
13c2effb61
update-deployment: Make zulip-dropbox.png logic conditional.
2016-07-19 10:01:14 -07:00
Tim Abbott
6b0d8ecfba
update-deployment: Run create-production-venv as root.
2016-07-19 09:51:13 -07:00
Tim Abbott
07473f4007
update-prod-static: Use a virtualenv to find dependencies.
...
This is needed to support using update-deployment with a virtualenv.
2016-07-19 09:51:13 -07:00
Eklavya Sharma
38b1353f42
tools/run-dev.py: Clear memcached.
...
Clear memcached when tools/run-dev.py is run. This prevents
errors on using a different python version because values are
pickled before being stored in memcached and different python
versions implement pickling differently.
Also provide a command-line option --no-clear-mc to prevent
memcached from being cleared.
2016-07-18 14:25:13 -07:00
Taranjeet Singh
64332d8816
Update linecoverage directory to linecoverage-report.
...
tools/provision.py: Create directory var/linecoverage-report.
tools/run-mypy: Update coverage dir to var/linecoverage-report.
2016-07-18 14:13:33 -07:00
Taranjeet Singh
4d2cb3754c
Update upload dir to var/uploads.
...
tools/provision.py: Create directory var/uploads.
zproject/local_settings_template.py: Update Upload dir to var/uploads.
zproject/dev_settings.py: Update upload dir to var/uploads.
2016-07-18 14:13:33 -07:00
Umair Khan
b546391f0b
Move locale to static/locale
2016-07-18 13:59:07 -07:00
Eklavya Sharma
bc901ac6d8
tools/travis/py3-backend: Add tools/test-management.
2016-07-18 09:57:28 -07:00
Eklavya Sharma
da36947400
Change unbuffering strategy in runtornado.py.
...
runtornado unbuffers its output using
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0).
This is not python 3 compatible since we can't specify
buffering on a text stream in python 3. So use the '-u'
option of python when calling runtornado.py to make output
unbuffered.
2016-07-17 10:31:15 -07:00
Taranjeet Singh
9db457e8fa
provision.py: Create var/coverage directory to store coverage data.
...
test-backend: Update coverage directory to var/coverage.
This commit updates the coverage directory to var/coverage as a part
of Issue 1132.
2016-07-13 18:58:00 -07:00
Tim Abbott
6254e29ebf
update-deployment: Use the virtualenv in deployment process.
2016-07-13 18:56:44 -07:00
Tim Abbott
599f12f94f
update-prod-static: Fix deploy path for language_options.json.
2016-07-13 18:56:37 -07:00
Tim Abbott
baeaf0f870
check-templates: Fix traceback with missing closing tag at end of file.
...
Previously, this would crash with an unclear traceback in this situation.
2016-07-13 18:55:40 -07:00
Tim Abbott
c0a6672471
Update path to language_options.json in production.
...
The previous code didn't correctly transport language_options.json to
the production environment.
2016-07-13 12:30:45 -07:00
Taranjeet Singh
5971203864
settings: Store uploaded files under var/ in development environment.
2016-07-12 20:33:31 -07:00
Taranjeet Singh
03384deb86
provision: Create zulip/var/log directory.
...
The purpose of this is to move a lot of the log and other generated
files used by the Zulip development environment into a consistent
hierarchy.
We also need to create this in tools/build-release-tarball as well,
since that runs a development environment out of a temporary
directory.
2016-07-12 20:33:30 -07:00
Tim Abbott
2338421c6d
lint: Add documentation lint check for JavaScript spelling.
2016-07-12 19:22:21 -07:00
Tim Abbott
4972154df9
setup-production: Improve debugging of build-release-tarball errors.
2016-07-12 19:09:28 -07:00
Tim Abbott
0b7788be6b
Fix indentation in compose.html.
2016-07-12 18:36:02 -07:00
Tim Abbott
d424813687
Fix indentation in deactivated.html.
2016-07-12 18:34:17 -07:00
Steve Howell
f57a17abdf
Lint-check more Django files for indentation.
...
(This starts to address github ticket #1236.)
2016-07-12 14:08:17 -07:00
Steve Howell
97f28f3792
Revert "Close HTML singleton tags in Casper files."
...
This reverts commit 520b255d95
,
and also blacklists Casper files from our linter.
2016-07-12 13:35:50 -07:00
Tim Abbott
5d990c28d0
Fix running run-mypy from any working directory.
2016-07-12 10:39:33 -07:00
Tim Abbott
497142d7b1
Fix running test-backend from any working directory.
2016-07-12 10:39:33 -07:00
Eklavya Sharma
934a0f7c6c
Add tools/test-backend to py3-backend test suite.
2016-07-12 09:27:55 -07:00
Eklavya Sharma
5de91c4115
Use subprocess_text_output in tools/provision.py.
2016-07-12 20:25:20 +05:30
Eklavya Sharma
158d67e702
Run tools/test-migrations in Travis.
2016-07-11 21:30:32 -07:00