Commit graph

942 commits

Author SHA1 Message Date
Henry Oswald
2d03cb3eb1 added debugging and new moving commands 2018-03-16 17:30:11 +00:00
Henry Oswald
6d21ab734a try copying synctex betwen directories 2018-03-16 17:10:56 +00:00
Henry Oswald
4179d19200 move synctex into a directory for simple mounting 2018-03-16 16:50:30 +00:00
Henry Oswald
48eb7129a7 add synctex back in 2018-03-16 16:22:39 +00:00
Henry Oswald
29dcef3b9e comment out synctex for moment 2018-03-16 16:04:26 +00:00
Henry Oswald
faedf16704 add log line for connecting to a db 2018-03-16 15:29:35 +00:00
Henry Oswald
6fe6924e6a make compiles dir 2018-03-16 15:25:36 +00:00
Henry Oswald
b714ea193a remove texlive docker images 2018-03-14 15:44:58 +00:00
Henry Oswald
3c2172434b have entrypoint kickoff download off texlive images
install script exits without error if auth fails.
2018-03-14 15:44:58 +00:00
Henry Oswald
c080938480 add docker ignore rather than make clean 2018-03-14 15:44:58 +00:00
Henry Oswald
c80c38b7a9 update build scripts 2018-03-14 15:44:58 +00:00
Henry Oswald
43b1fe4b68 test new scripts on ci 2018-03-14 15:44:58 +00:00
Henry Oswald
e4e30cf2e2 fixed commended tests 2018-03-14 15:44:58 +00:00
Henry Oswald
572f1ee230 update scripts from latest build scripts 1.1.0 2018-03-14 15:44:58 +00:00
Henry Oswald
17e86fbfc5 remove touch /var/run/docker.sock which doesn’t work robustly 2018-03-14 15:44:58 +00:00
Henry Oswald
f06fa2e146 add cmd back in 2018-03-14 15:44:58 +00:00
Henry Oswald
5285d393a0 set entry point for dockerfile 2018-03-14 15:44:58 +00:00
Henry Oswald
b86dc2623f removed user temporarly, created make ci task 2018-03-14 15:44:58 +00:00
Henry Oswald
bd0a7c3557 add logging in db.coffee 2018-03-14 15:44:58 +00:00
Henry Oswald
dbb5cb5e44 update jenkins task 2018-03-14 15:44:58 +00:00
Henry Oswald
cf8d5cdd41 add cache dir 2018-03-14 15:44:58 +00:00
Henry Oswald
34c52e6c98 removed unused scripts 2018-03-14 15:44:58 +00:00
Henry Oswald
8dce1e2958 wip for ci 2018-03-14 15:44:58 +00:00
Henry Oswald
9a519f0d3d added docker runner into core codebase
supports both local command runner and docker runner

added docker files for tex live

also fixed tests so they exit correctly & removed debug lines
2018-03-14 15:44:49 +00:00
Henry Oswald
729d29253d fix url fetcher tests so they exit correctly 2018-03-05 10:39:46 +00:00
Henry Oswald
3ce5229435 add SYNCTEX_BIN_HOST_PATH for ci 2018-03-03 13:40:29 +00:00
Henry Oswald
9686e182ed Merge branch 'ho-dockerise' of github.com:sharelatex/clsi-sharelatex into ho-dockerise 2018-03-03 13:37:00 +00:00
Henry Oswald
ac3b0a02da update docker compose ci to use extension file and dockerfile 2018-03-03 13:36:42 +00:00
Henry Oswald
aa58b7a75f Merge branch 'ho-dockerise' of github.com:sharelatex/clsi-sharelatex into ho-dockerise 2018-03-02 18:31:09 +00:00
Henry Oswald
d97ccc6e07 Merge branch 'master' into ho-dockerise 2018-03-02 18:18:18 +00:00
Henry Oswald
1320854da9 Merge branch 'master' into ho-dockerise 2018-03-02 18:16:16 +00:00
Henry Oswald
0589c8c544 Merge branch 'master' into ho-dockerise 2018-03-02 18:12:32 +00:00
Henry Oswald
9afb7e9417 built with 1.1.0 scripts 2018-03-02 18:08:13 +00:00
Henry Oswald
2168f20715 uncomment tests 2018-03-02 17:59:37 +00:00
Henry Oswald
f9b6b3dda8 make timeout latex more complex(slower) 2018-03-02 17:58:34 +00:00
Henry Oswald
f39d14bf1b unit tests pass, acceptence fail
uncomment tests
2018-03-02 17:34:41 +00:00
Henry Oswald
3399f55153 wip, docker container is correctly created 2018-03-02 17:14:23 +00:00
Henry Oswald
603069ea59 tests pass under app user 2018-03-02 17:14:23 +00:00
Henry Oswald
b1c0abbd4d updateded build scripts 2018-03-02 17:14:23 +00:00
Henry Oswald
c0058ac720 mount app as volume in docker container for local tests
change to overrides
2018-03-02 17:14:23 +00:00
Henry Oswald
ece0540318 updated build sripts with 1.0.3 2018-03-02 17:14:23 +00:00
Henry Oswald
fdac655cd4 acceptence tests pass inside docker container (apart from sync) 2018-03-02 17:14:23 +00:00
Henry Oswald
5cf3c904cb mvp
needs hacked pacth in docker runner

wip

most tests pass
2018-03-02 17:14:20 +00:00
James Allen
df21b9de53 Provide hosts and siblings container as environment settings and add npm run start script
wip acceptence tests run, but don't all pass

wip

removed npm-debug from git
2018-03-02 17:14:18 +00:00
James Allen
64ad02b1bf Merge pull request #83 from sharelatex/ja-dockerize-dev
Provide hosts as settings and add npm run start script
2018-01-16 17:08:09 +00:00
James Allen
d0e5fb2d34 Allow texlive image user to be configured 2018-01-16 10:46:59 +00:00
Brian Gough
78f2fdd25b Merge pull request #82 from sharelatex/bg-log-core-files-as-error
log an error if core file is found in output
2018-01-04 09:22:44 +00:00
Brian Gough
e18538bd38 log an error if core file is found in output 2018-01-03 15:41:31 +00:00
James Allen
08a0c6feb4 Provide hosts and siblings container as environment settings and add npm run start script 2017-12-29 08:08:19 +00:00
Joe Green
adaf742a7b Add a 1 second delay to the smoke tests (#81)
* Add a 1 second delay to the smoke tests

Fixes a race condition where smoke tests exit before container can be attached to.

See here for more info: https://github.com/overleaf/sharelatex/issues/274

* give the smoke tests additional work to do

* escape slashes
2017-12-05 16:51:59 +00:00
Joe Green
beaa198347 Increase smoke test interval to 30 seconds
The smoke tests can sometimes take ~20 seconds to complete, which causes the http POST to time out. This should solve that problem.
2017-11-29 11:01:51 +00:00
Brian Gough
f1c59150b7 exit if mock server fails to start 2017-10-20 15:16:35 +01:00
Joe Green
45adf904b7 Update Jenkinsfile 2017-10-16 14:13:51 +01:00
Joe Green
75836ecb0a only alert on master 2017-10-12 16:54:54 +01:00
Brian Gough
3c937ce2d4 fix typo in log message 2017-10-02 15:45:09 +01:00
Brian Gough
392e96b81d move logging from SafeReader into caller
prevent unnecessary logging when looking at headers of files where
hitting the end of the file is expected.
2017-10-02 15:44:00 +01:00
Brian Gough
e209c48bd9 simplify tikzexternalize checks 2017-09-29 17:00:53 +01:00
Brian Gough
2bdba15bd5 keep tikzexternalize files 2017-09-29 16:02:23 +01:00
Joe Green
dc0b7d5dba Update Jenkinsfile 2017-09-28 13:46:01 +01:00
Brian Gough
ce51cc673f Merge branch 'bg-lock-compiles' 2017-09-28 13:16:29 +01:00
Joe Green
273de10eb4 use npm cache in CI build 2017-09-28 11:51:41 +01:00
Joe Green
4ff6cd3006 Jg jenkinsfile cleanup (#75)
* Update Jenkinsfile

make sure we don't ship unneeded build files

* Update ExampleDocumentTests.coffee

* use node 6.11.2 in jenkins file
2017-09-28 11:50:33 +01:00
Brian Gough
860929b198 Merge pull request #73 from sharelatex/bg-handle-dot-files-in-resource-list
handle dot files in resource list
2017-09-28 09:59:27 +01:00
Joe Green
33dfe5b2a2 Update Jenkinsfile 2017-09-26 11:44:48 +01:00
Brian Gough
a7cb7e6e4c use a separate function for hidden file check 2017-09-26 11:03:20 +01:00
Brian Gough
ef0db811e1 exclude hidden files from output
express static server doesn't serve them and rejects with 404
2017-09-26 10:42:59 +01:00
Brian Gough
2a23082c4e remove stat test for missing files 2017-09-26 09:48:09 +01:00
Brian Gough
d46943a7bb only exclude clsi-specific files from output list 2017-09-26 09:47:29 +01:00
Brian Gough
d464556f74 fix comment 2017-09-25 16:06:45 +01:00
Brian Gough
8685b774ee fix unit tests for use of fs-extra 2017-09-25 15:28:31 +01:00
Brian Gough
7f0e6f3eec lock compile directory 2017-09-22 16:19:33 +01:00
Brian Gough
b03271edee unit tests for ResourceStateManager 2017-09-15 13:42:57 +01:00
Brian Gough
81e8243827 fallback check for missing files
dot files are not examined by OutputFileFinder, so do an extra check to
make sure those exist

also check for any relative paths in the resources
2017-09-15 13:41:56 +01:00
Brian Gough
0d613a6480 Merge pull request #71 from sharelatex/bg-merge-state-and-resource-list-files
merge state and resource list files
2017-09-11 08:54:30 +01:00
Joe Green
41e442d403 Add jenkinsfile (#72)
* create Jenkinsfile

* allow textlive image to be set with env vars

* log error message in test

* use sandboxed compiles variables

* Add SANDBOXED_COMPILES_HOST_DIR var to test config

* add SIBLING_CONTAINER_USER env var
2017-09-08 14:06:04 +01:00
Brian Gough
0a242bac3c rename saveProjectStateHash to saveProjectState 2017-09-08 13:56:40 +01:00
Brian Gough
66431fc2b8 log any missing files 2017-09-07 16:54:09 +01:00
Brian Gough
b8e8530a16 fix whitespace 2017-09-07 13:52:34 +01:00
Brian Gough
cbd3e32143 log error if state file is truncacted 2017-09-07 13:52:34 +01:00
Brian Gough
3d1c3a1d27 combine the resource state and resource list
to prevent them getting out of sync
2017-09-07 13:52:34 +01:00
Shane Kilkelly
5b33129138 Merge pull request #70 from sharelatex/sk-node-6
Upgrade to node 6.11
2017-08-31 13:35:27 +01:00
Shane Kilkelly
ae2af06f7b Upgrade to node 6.9 2017-08-29 14:30:43 +01:00
Brian Gough
ea3ee82e74 added logging 2017-08-29 12:09:31 +01:00
James Allen
30dd9655bf Merge pull request #69 from sharelatex/as-update-docker-runner-config
Update docker-runner-sharelatex config
2017-08-24 15:17:16 +02:00
Alasdair Smith
87935f30c5 Update docker-runner-sharelatex config 2017-08-24 13:34:24 +01:00
Brian Gough
43f424295e Merge pull request #66 from sharelatex/bg-compile-from-redis
Write files incrementally
2017-08-23 15:35:56 +01:00
Brian Gough
26f85ba75f read resource files safely
put a limit on the amount of data read
2017-08-18 11:17:01 +01:00
Brian Gough
a84c884fc9 splice state management into ResourceStateManager 2017-08-18 10:22:17 +01:00
Brian Gough
96b801b093 fix whitespace 2017-08-18 09:41:59 +01:00
Brian Gough
d614af2860 finish unit test for incremental update 2017-08-18 09:41:43 +01:00
Brian Gough
d3da4e1d3f ResourceWriter unit tests (wip) 2017-08-17 16:59:37 +01:00
Brian Gough
c7a9487216 test syncType in RequestParser 2017-08-17 15:57:05 +01:00
Brian Gough
b901884248 avoid adding draft mode more than once 2017-08-17 15:03:37 +01:00
Brian Gough
8415ea2f71 store the resource list in a file 2017-08-17 14:53:35 +01:00
Brian Gough
c0ed71f65c fix unit tests 2017-08-09 15:22:44 +01:00
Brian Gough
2950c01130 add comment about syncType/syncState 2017-08-09 15:22:38 +01:00
Brian Gough
4ebc7e5e4a clean up the state file if no state passed in 2017-08-08 16:29:57 +01:00
Henry Oswald
1e34f6371e use grunt to make compiles and cache dirs 2017-08-07 16:21:37 +01:00
Henry Oswald
c3511e91ef Revert "Keep compiles and cache directories" 2017-08-07 15:29:18 +01:00
Brian Gough
567a89350b fix broken unit tests 2017-08-07 15:00:16 +01:00
Brian Gough
3a930a636e fix incremental request 2017-08-07 14:32:28 +01:00
Brian Gough
fe5ba5b619 restrict syncType values to full/incremental 2017-08-07 10:19:56 +01:00
Brian Gough
44ae011703 added files out of sync error object 2017-08-03 15:56:59 +01:00
Brian Gough
d4aad06c1f use syncType and syncState for clsi state options 2017-08-03 12:00:32 +01:00
Brian Gough
da86a094a8 write files incrementally 2017-08-02 13:46:10 +01:00
Hayden Faulds
931abb7c81 keep cache directory 2017-07-27 15:54:20 +01:00
Hayden Faulds
d382f2929f keep compiles directory 2017-07-27 14:02:24 +01:00
Henry Oswald
2aeec8a12f Revert "change"
This reverts commit 104ce81ebdf41d88acd7fb6f2abf99fbc4eb91df.
2017-07-23 22:45:04 +01:00
Henry Oswald
19c4d020b5 change 2017-07-23 22:42:07 +01:00
Brian Gough
d43357e8c8 stub out unwanted dependency in unit tests 2017-07-18 11:30:22 +01:00
Brian Gough
fd5b557dde fix exception for empty content in TikzManager 2017-07-18 11:29:59 +01:00
Brian Gough
4a4f3bb24c update acceptance test images for texlive 2017 2017-07-13 13:15:51 +01:00
Brian Gough
0c7a89dfa5 update acceptance tests settings to 2017 image 2017-07-12 16:59:33 +01:00
Shane Kilkelly
577cf7ef4c Merge branch 'sk-reduce-kill-project-errors' 2017-06-27 10:03:51 +01:00
Shane Kilkelly
a55debb79f Send a 404 if the project files have gone away when running synctex.
This is semantically nicer than the 500 response which used to be
produced in these circumstances.
2017-06-23 14:46:40 +01:00
Shane Kilkelly
4b14de05c9 Killing an already stopped project is not an error
Log a warning instead and continue.
2017-06-20 09:18:15 +01:00
Shane Kilkelly
65eaf0ad10 Mock out logger in tests 2017-06-20 08:25:50 +01:00
Brian Gough
f2746b7d5b delete intermediate xdv files from xelatex 2017-06-15 15:37:45 +01:00
Brian Gough
8d8f441ff8 Merge pull request #58 from sharelatex/bg-check-dir-before-synctex
check file exists before running synctex
2017-05-31 10:16:06 +01:00
Brian Gough
550979991f check directory exists and bail out on error 2017-05-31 10:06:27 +01:00
Brian Gough
42fa852b76 check file exists before running synctex 2017-05-24 10:09:43 +01:00
Brian Gough
7d93e77102 don't report compile timeouts to sentry
just log them instead
2017-05-24 09:42:05 +01:00
Brian Gough
86f29a4cfb add setting to avoid optimisations outside docker 2017-04-10 16:12:03 +01:00
Brian Gough
f7c3565281 use pdfinfo on output to ensure pdfs are optimised
needed to check that qpdf runs correctly inside the docker container
2017-04-07 11:11:27 +01:00
Brian Gough
7e58bfd752 check if file is optimised before running qpdf 2017-04-04 16:50:06 +01:00
Shane Kilkelly
222fc4b99c Add a .nvmrc file 2017-03-27 14:47:48 +01:00
Brian Gough
4e34fa2fa6 Merge pull request #53 from sharelatex/bg-sanitise-paths
additional check for valid rootResource
2017-03-21 13:39:27 +00:00
Brian Gough
dd35c5d88b check for \tikzexternalize directly
instead of \usepackage{tikz} and \usepackage{pgf}
2017-03-21 11:36:08 +00:00
Brian Gough
1273a05ad4 fix path match 2017-03-21 11:30:32 +00:00
Brian Gough
54bdc8fed0 create separate function for path checking 2017-03-21 11:29:37 +00:00
Brian Gough
3bd919b3eb support for tikz externalize
make copy of main file as output.tex for tikz externalize
2017-03-20 10:55:28 +00:00
Brian Gough
4806da00a4 additional check for valid rootResource 2017-03-20 10:03:48 +00:00
Brian Gough
a602629406 update xelatex acceptance test pdf 2017-03-08 11:49:21 +00:00
Brian Gough
d09cbfaa8d improve debugging of failed acceptance tests
use the example name in the output filename
2017-03-08 11:49:12 +00:00
Brian Gough
d123f8eb64 include otf extension in fontawesome test 2017-03-08 11:25:25 +00:00
Shane Kilkelly
b32c6b1f39 Upgrade logger 2017-03-06 14:56:32 +00:00
Shane Kilkelly
533804c55b Don't compile acceptance test files during test run 2017-03-06 14:43:14 +00:00
Brian Gough
12b7a372e4 allow latexmk to pass through options
this avoids problems in the latest version of latexmk where the
$pdflatex variable has been replaced by $xelatex and $lualatex when
running with -xelatex or -lualatex
2017-03-02 16:43:35 +00:00
Henry Oswald
40a2684801 remove tcp code, moved to agent load balancer 2017-02-23 11:09:18 +00:00
Brian Gough
1a4fca08eb fix acceptance test config file for latex prefix
latex command prefix was in wrong scope
2017-02-21 09:37:05 +00:00
Brian Gough
61fb90c6aa add fontawesome acceptance test for xelatex 2017-02-21 09:37:05 +00:00
Henry Oswald
6aea5199c8 Merge pull request #49 from sharelatex/ho-one-cpu-size
if host has 1 cpu (staging) then set availableWorkingCpus to 1
2017-02-20 15:20:04 +00:00
Henry Oswald
f9c687d5f8 Update app.coffee 2017-02-20 15:19:04 +00:00
Henry Oswald
a7623bf0d2 if host has 1 cpu (staging) then set availableWorkingCpus to 1 2017-02-20 15:16:52 +00:00
Brian Gough
1a7d8477a3 update acceptance tests for reversion to dvipdf 2017-02-13 13:42:44 +00:00
Brian Gough
29d36399a2 fix #! in test script 2017-02-09 15:38:25 +00:00
Brian Gough
83dd366eb4 show debug info for acceptance tests 2017-02-09 14:17:38 +00:00
Brian Gough
11e4d01e1e update acceptance test output for fontawesome 2017-02-07 11:51:21 +00:00
Brian Gough
42d20cede0 added fontawesome acceptance test 2017-02-07 10:00:41 +00:00
Brian Gough
58bb705555 fix lualatex require 2017-02-07 08:59:45 +00:00
Brian Gough
83a06b1fe1 add luatex85 package to tikz feynman test 2017-02-07 08:49:19 +00:00
Brian Gough
91fa3364f7 added acceptance test for tikz-feynman 2017-02-07 08:12:47 +00:00
Brian Gough
8b22b6c650 update knitr_utf acceptance test output
needs to include table of contents from multiple latexmk runs
2017-02-06 16:27:47 +00:00
Brian Gough
3acf15de5b add knitr utf8 acceptance test 2017-02-03 15:38:06 +00:00
Brian Gough
491528f5a5 add acceptance test for hebrew 2017-02-03 15:16:47 +00:00
Brian Gough
3434f365bb update acceptance test image for lualatex
small pixel-level change in output
2017-01-31 16:04:59 +00:00
Brian Gough
c031ec7a2e increase debugging in acceptance tests 2017-01-31 10:47:49 +00:00
Brian Gough
c83102c665 add debugging to acceptance tests 2017-01-31 10:40:05 +00:00
Brian Gough
a1503a8791 update feymp test image
minor pixel change in position of labels in texlive 2016
2017-01-31 10:21:00 +00:00
Brian Gough
2c26c99509 update asymptote pdf to a4 size for texlive 2016 2017-01-31 09:53:36 +00:00
Brian Gough
b04713b234 try output.pdf generated with texlive 2016 2017-01-30 15:37:26 +00:00
Brian Gough
00d8bc78c3 update latex_compiler test pdf 2017-01-27 12:32:14 +00:00
Brian Gough
354a88e67a specify papersize explicitly in latex test 2017-01-27 12:21:57 +00:00
Brian Gough
a802620d11 log acceptance test server output to file 2017-01-26 12:20:41 +00:00
Brian Gough
07e536677c try running user as jenkins 2017-01-26 12:06:38 +00:00
Brian Gough
5a6f54e6b2 update image for docker tests 2017-01-25 14:12:19 +00:00
Brian Gough
b4afaf9ea8 use local docker image for clsi test 2017-01-25 14:09:44 +00:00
Brian Gough
9461b28707 run tests outside container, add settings file 2017-01-25 14:08:39 +00:00
Brian Gough
0a3bd5fb07 upgrade to latest sqlite3 2017-01-24 16:06:32 +00:00
Brian Gough
0f92ef104a added docker script for acceptance tests 2017-01-24 12:18:30 +00:00
Brian Gough
08dc3bd744 fix acceptance tests 2017-01-24 11:07:54 +00:00
Brian Gough
8add9ff3ea fix exception in error log 2016-10-14 10:23:13 +01:00
Shane Kilkelly
34f47178fa Increase memory limit to 64mb 2016-09-28 11:02:58 +01:00
Shane Kilkelly
2bedd08ff9 Add test for new ulimit options 2016-09-23 15:34:29 +01:00
Shane Kilkelly
4efdddbbac Add CHKTEX_ULIMIT_OPTIONS 2016-09-23 15:32:37 +01:00
James Allen
638359e052 Don't delete knitr cache files 2016-09-22 14:14:29 +01:00
James Allen
4c04a5df3f Sanitize resource path along with rootResourcePath 2016-09-21 15:09:01 +01:00
Brian Gough
56429178df only run chktex on .tex files, not .Rtex files
the .tex files produced from knitr have macros which confuse chktex
2016-09-12 16:29:36 +01:00
Brian Gough
e23512f0e0 handle failed compile due to validation error 2016-08-24 15:46:47 +01:00
Brian Gough
481e842f33 fix commandRunner error to match dockerRunner 2016-08-24 15:45:26 +01:00
Brian Gough
1af44b32b3 remove chktex error
too many false positives from 'unable to execute latex command'
2016-08-22 15:11:39 +01:00
Brian Gough
a26971ba2e update tests 2016-08-11 10:31:37 +01:00
Brian Gough
ed5acc9f93 capture texcount error output 2016-08-11 10:26:08 +01:00
Brian Gough
400590b3ad read wordcount output asynchronously 2016-08-11 09:32:53 +01:00
Brian Gough
872dbc5215 add missing argument parameter to wordcount call 2016-08-11 09:29:03 +01:00
Brian Gough
c5917d4a75 use a command wrapper for synctex
instead of an alternative child_process object
2016-08-04 16:08:14 +01:00
Brian Gough
08a446f03d change logging message to be different from LatexRunner 2016-08-04 16:07:36 +01:00
Brian Gough
5c1e903b14 Merge pull request #44 from sharelatex/add-chktex-support
Add chktex support
2016-08-02 14:55:38 +01:00
Brian Gough
f0c7b455a5 provide setting to override child_process.execFile for synctex 2016-07-29 14:54:24 +01:00
Brian Gough
ffea361d12 provide validation mode where compilation always exits after chktex 2016-07-27 16:54:27 +01:00
Brian Gough
d6d6e18b89 run chktex when request has check:true 2016-07-26 16:22:38 +01:00
Brian Gough
3135ff2842 add support for passing additional environment parameters to command runner
includes an example of passing environment variables to chktex
2016-07-26 12:30:29 +01:00
Brian Gough
e4da985753 Merge pull request #43 from sharelatex/stop-compile
add support for stopping compile
2016-07-18 11:16:53 +01:00
Brian Gough
bd1e1de504 remove dead code 2016-07-18 11:05:45 +01:00
Brian Gough
9b58621fa8 add support for stopping compile 2016-07-14 16:43:52 +01:00
WaeCo
92461742d0 Set default project_cache_length_ms to 1 day
`project_cache_length_ms` was only `60*60*24 = 1.5 min` which is a little bit short. Default of one day seams more reasonable.
2016-07-13 13:26:32 -07:00
Brian Gough
dd4e1e17b5 keep one extra build until per-page pdf serving is enabled 2016-06-29 16:31:16 +01:00
Brian Gough
03188d2a57 only keep a single cached output directory in per-user containers 2016-06-28 09:28:40 +01:00
Shane Kilkelly
638ac52e40 Move the latexmk timing command into a configurable latexmkCommandPrefix.
By default, no timing information will be taken.
On Linux with GNU user land, this value should be configured to `["/usr/bin/time", "-v"]`.
On Mac, gnu-time should be installed and configured to `["/usr/local/bin/gtime", "-v"]`.
2016-06-17 14:38:08 +01:00
Brian Gough
a6f6392e40 add route to serve files from top level of per user containers 2016-06-15 16:12:19 +01:00
Brian Gough
fb12d04282 Merge branch 'per-user-containers-part-2'
Conflicts:
	app/coffee/CompileController.coffee
2016-06-13 09:33:41 +01:00
Brian Gough
feeed9faaf Merge pull request #39 from sharelatex/per-user-containers-part-1
Per user containers part 1
2016-06-09 15:17:35 +01:00
Henry Oswald
989c178546 use process id so link process to smoke test 2016-06-07 14:47:51 +01:00
Henry Oswald
f0dc5d6f86 add random string to smoke tests to avoid collision 2016-06-07 14:39:01 +01:00
Brian Gough
d3395ef763 log user_id when clearing project 2016-06-02 15:32:33 +01:00
Brian Gough
5367bc22e5 add per-user routes for clearing cache and extend expiry methods
this adds separate functionality for clearing the cache (assets and
database) and the project compile directory for a specific user
2016-06-02 15:32:33 +01:00
Brian Gough
df641549c4 add per-user routes and methods 2016-06-02 15:32:31 +01:00
Brian Gough
1462e17f0c put the build id in the output file urls
the url attribute will now give the preferred location for accessing
the output file, without the url having to be constructed by the web
client
2016-06-02 15:30:50 +01:00
Brian Gough
bd22a6e02d put the build id in the output file urls
the url attribute will now give the preferred location for accessing
the output file, without the url having to be constructed by the web
client
2016-06-02 15:29:56 +01:00
Henry Oswald
fdc8d83646 log out error on synctex 2016-05-27 16:18:18 +01:00
Henry Oswald
41ca3a4222 log out errors more clearly 2016-05-27 14:45:39 +01:00
Henry Oswald
5ed6ef571f added logger.info to test setup 2016-05-24 14:12:02 +01:00
Henry Oswald
448a30750b log out which command logger is used 2016-05-24 14:08:39 +01:00
Henry Oswald
ea8134c433 log out if the command running is being used 2016-05-23 15:45:39 +01:00
Henry Oswald
98a07e07ed parallelFileDownloads defaults to 1, sql can't take it 2016-05-23 14:31:27 +01:00
Henry Oswald
d140964c5f add error handler on CommandRunner 2016-05-23 14:13:55 +01:00
Brian Gough
bd55e18d6b be ready to serve files from per-user containers 2016-05-20 10:23:07 +01:00
Brian Gough
340fef38a9 fix error in log for expiry timeout 2016-05-20 10:23:07 +01:00
Henry Oswald
786b9cdb84 Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex 2016-05-19 16:57:19 +01:00
Henry Oswald
9c873f99ba log out EXPIRY_TIMEOUT 2016-05-19 16:57:14 +01:00
Henry Oswald
9ae37d1814 make cached assets ttl set via config 2016-05-19 16:51:50 +01:00
Brian Gough
07401c5a45 avoid clobbering the existing port variable 2016-05-19 16:38:18 +01:00
Brian Gough
e286aede4e return the file path in the output file list for easy lookup 2016-05-19 16:38:18 +01:00
Brian Gough
2494327c12 make the build id a secure random token
we allow existing build ids to work for backwards compatibility
this can be removed after some time
2016-05-13 10:11:35 +01:00
Brian Gough
8a2665911d allow direct path to output file /project/project_id/build/build_id/output/*
this avoids use of the query string ?build=... and so we can match the
url directly with the nginx location directive
2016-05-13 10:10:48 +01:00
Brian Gough
d5c1fb9997 fix logic excluding smoke test in metric 2016-05-10 10:10:01 +01:00
Brian Gough
00acfbdf86 fix tagname for graphite 2016-05-10 09:41:39 +01:00
Brian Gough
7779f65869 record system time 2016-05-10 09:12:13 +01:00
Brian Gough
d2e4253e1e preserve existing metric name 2016-05-10 09:12:00 +01:00
Brian Gough
3eebca4c01 add timing information from /usr/bin/time 2016-05-09 16:00:24 +01:00
Brian Gough
ebcf9a75ae add a metric for the TeXLive image used on each compile 2016-05-09 15:36:11 +01:00
Henry Oswald
7ab1654ebc move back to 2.5 days cache for moment 2016-04-21 17:40:09 +01:00
Henry Oswald
e024d3f503 added project status endpoint
used for getting the server a project is on
2016-04-20 15:38:05 +01:00
Henry Oswald
d416f75c2c increased clsi cache to 3.5 days 2016-04-13 09:29:57 +01:00
Henry Oswald
67d3ebf4dc ignore ECONNRESET 2016-04-12 13:32:58 +01:00
Henry Oswald
42d44a7072 use socket.end for tcp checks 2016-04-12 10:49:45 +01:00
Henry Oswald
5832a09140 server load endpoint uses settings for port 2016-04-11 13:47:06 +01:00
Henry Oswald
29e3668b52 return 0 for server which is being hammered
socket.destroy when finished
2016-04-08 15:40:02 +01:00
Henry Oswald
02c7a96161 added err handler to socket 2016-04-08 15:25:00 +01:00
Henry Oswald
2864d776f5 work of 1 min load and set server as up 2016-04-08 15:18:22 +01:00
Henry Oswald
260987336d evaluate on every call 2016-04-08 14:14:05 +01:00
Henry Oswald
ab15c9e320 added example server load tcp server 2016-04-08 13:31:23 +01:00
Brian Gough
27b739b081 don't log errors when files have disappeared from build directory 2016-04-07 16:16:39 +01:00
Brian Gough
4a785ff43c log errors in detail when file cannot be removed 2016-04-04 16:22:48 +01:00
Brian Gough
0ca584cb55 upgrade to the latest version of request 2016-03-31 14:03:48 +01:00
Brian Gough
c1cb0f8800 suppress error when removing nonexistent file from cache 2016-03-31 13:33:42 +01:00
Brian Gough
2f15adaf47 parameter check on project_id 2016-03-31 12:12:25 +01:00
Brian Gough
01d7a59dfd remove console.log 2016-03-31 11:59:17 +01:00
Brian Gough
99c6b746f8 check directory exists before attempting to clear it 2016-03-31 11:59:17 +01:00
Brian Gough
26e94f2549 always create project directory when syncing resources to disk
avoids errors when project is empty
2016-03-31 11:59:17 +01:00
Brian Gough
308ca01b3c don't log missing files as warnings, but do report file access errors 2016-03-31 11:14:39 +01:00
Brian Gough
80601eaa85 add support for sentry 2016-03-30 14:35:47 +01:00
James Allen
a2edeb800b Only archive main log and blg 2016-03-30 14:10:07 +01:00
James Allen
9c7e8af851 Ignore both .cache and .archive and other hidden files in finding output files 2016-03-30 11:41:11 +01:00
James Allen
66fa6a3e2e Don't timestamp strace logs otherwise it runs as anew container each time since the command changes 2016-03-30 10:59:01 +01:00
James Allen
da7b8b99fb Add in flags to run strace and capture logs 2016-03-30 10:37:22 +01:00
Brian Gough
285546fbcf bugfix - avoid double counting compiles 2016-03-17 14:37:34 +00:00
Brian Gough
456a8ca8cd add metric for qpdf 2016-03-17 09:55:18 +00:00
Brian Gough
a26f4fc5f6 add metrics for latexmk runs and errors 2016-03-17 09:55:18 +00:00
Henry Oswald
124c91e302 increased EXPIRY_TIMEOUT from 1.5 days to 2.5 days 2016-03-10 10:30:37 +00:00
James Allen
320e225700 Send .svg files as text/plain to prevent executable JS if they are loaded as SVG in the browser 2016-03-10 09:32:32 +00:00
James Allen
263ee43cb5 Make draft mode regex global 2016-02-02 15:28:59 +00:00
James Allen
97b5ac6a7f Remove left over debug log line 2016-02-02 14:28:51 +00:00
James Allen
0f55ce18ac Inject [draft] option to documentclass if draft option is passed 2016-02-02 14:26:14 +00:00
James Allen
37dbdc21bb Download up to 5 files in parallel 2016-02-01 13:19:16 +00:00
James Allen
de280d0ed4 Support configurable images in wordcount end point 2016-01-19 14:12:41 +00:00
James Allen
d924da0d2d Allow optional image name to be passed 2016-01-15 09:59:06 +00:00
Henry Oswald
e8e0b673eb fixed missing value in logger 2015-12-15 19:33:37 +00:00
Henry Oswald
253a99e780 added try catch around word count where a file is not created 2015-11-12 15:19:22 +00:00
Henry Oswald
069220dcc8 increased cache time to 1.5 days 2015-10-21 10:02:30 +01:00
Shane Kilkelly
3217b1d58f When serving output files, intelligently determine the appropriate content-type.
cherry pick 6fa3fda3ed28239cf3ac9720629f9707663aa197 from datajoy.
2015-09-21 16:59:35 +01:00
Henry Oswald
ddcfc3ee61 lock down smoke test and metrics version 2015-09-17 10:30:12 +01:00
Henry Oswald
d7d0a6d9b0 Merge pull request #33 from sharelatex/pr/28
wordcount
2015-09-09 14:03:20 +01:00
Henry Oswald
4ee50b7239 - fixed bug with texcount returning wrong data for nauty lines
- improved acceptence test for word count to use nauty lines
2015-09-09 13:52:45 +01:00
Henry Oswald
ec338f8c10 add -inc to word count
use -inc to word count included files

also moved private function to bottom
2015-09-09 12:47:08 +01:00
Henry Oswald
d44cfb8614 added test to check compile should continue on error downloading http
resource

also improved logging
2015-09-09 09:44:38 +01:00
Henry Oswald
4b3aa933a3 don't error if a http resource can not be download
try and continue, log the error but you might still be able to
compile. prevents issue with badly uploaded images in filstore
2015-09-08 21:58:27 +01:00
Henrique Dias
d332665648 move texcount to docker 2015-09-08 10:19:46 -03:00
Henrique Dias
09032565e2 Merge remote-tracking branch 'upstream/master' into texcount 2015-09-08 09:13:04 -03:00
Brian Gough
b3c030b3ed add memory logger from metrics-sharelatex 2015-08-14 14:47:42 +01:00
Henry Oswald
d45a5e6d42 Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex 2015-06-12 17:11:11 +01:00
Henry Oswald
e5f60081c9 added some load tests in 2015-06-12 17:11:03 +01:00
Henrique Dias
32c0a89ae1 add unit test 2015-06-08 19:27:47 -03:00
Henrique Dias
59e87a8729 initial version of texcount 2015-06-08 18:35:24 -03:00
Brian Gough
3dec42be2a Merge pull request #23 from sharelatex/add-mysql-indexes
add indexes to mysql db
2015-05-21 12:21:59 +01:00
Brian Gough
5b81a9b12e Merge pull request #22 from sharelatex/upgrade-sequelize
upgrade sequelize and mysql
2015-05-21 12:21:50 +01:00
Brian Gough
6ac7161f19 Merge pull request #21 from sharelatex/fix-urlfetcher-streams
clean up error handling in UrlFetcher
2015-05-21 12:21:31 +01:00
Brian Gough
44e1dc8c0c added comments 2015-05-21 11:33:13 +01:00
Brian Gough
e379068fa3 upgrade sequelize and mysql 2015-05-15 16:58:27 +01:00
Brian Gough
6ebcd9e8fd add indexes to db 2015-05-15 16:28:35 +01:00
Brian Gough
66fc2715dc clean up error handling in UrlFetcher 2015-05-15 16:28:11 +01:00
Brian Gough
608b1dd657 replace deprecated send(code,body) calls 2015-05-15 16:27:39 +01:00
Brian Gough
aa32cbc1ee clean up stream handling for file copy 2015-05-15 16:25:49 +01:00
Brian Gough
56f1ffa067 only run qpdf for the main output.pdf file
was previously matching any pdf file, which caused it to run for
embedded pdf figures produced during the mklatex run
2015-05-15 16:23:58 +01:00
Henry Oswald
7dfdad02f5 change regex checking file request ensure other files can not be accessed 2015-05-12 15:18:09 +01:00
Brian Gough
604c31ae84 additional validation of requests 2015-05-11 12:10:13 +01:00
Brian Gough
23e3b279c1 use the latest versions of metrics and smoketest modules 2015-05-05 10:54:59 +01:00
Brian Gough
f7d6c9de31 avoid leak when calling chai.should() repeatedly in smoke test 2015-05-05 10:03:17 +01:00
Brian Gough
b08349e07c disable sequelize logging by default
prevent any leaking of objects to console during debugging
2015-05-05 10:03:17 +01:00
Henry Oswald
91d0f0f2f8 make startup message consistent 2015-04-30 15:07:48 +01:00
Brian Gough
6a347a0ebe remove debugging from tests 2015-04-29 16:05:49 +01:00
Brian Gough
76cd52af70 prevent leak of urlStream on failed downloads 2015-04-29 16:05:49 +01:00
Brian Gough
bb9944e618 log errors when downloading files and clean up failed downloads 2015-04-29 16:05:49 +01:00
Brian Gough
72918fb41b invalidate the cache if there is an error copying a file 2015-04-29 15:54:38 +01:00
Brian Gough
56b77c300c log errors when copying files from cache 2015-04-29 15:54:08 +01:00
Brian Gough
134058ccc0 add heapdump support for memory profiling 2015-04-09 14:40:02 +01:00
James Allen
79e71cdf92 Release version 0.1.4 2015-03-20 15:25:02 +00:00
Brian Gough
d7e53941b6 Merge branch 'master' of github.com:sharelatex/clsi-sharelatex 2015-03-16 16:47:56 +00:00
Brian Gough
59c25fc703 remove unnecessary call to async.series in OutputFileFinder
callback was previously async but is now synchronous, so high stack
usage.
2015-03-16 16:47:25 +00:00
Brian Gough
9ee2706410 add v8 profiler on /profile?time=MS url 2015-03-16 15:02:45 +00:00
Brian Gough
3a3eda0ccf reduce cache limit for pdfs 2015-03-02 11:31:48 +00:00
Brian Gough
c26de9554d skip cache directory error when empty 2015-03-02 09:58:20 +00:00
Brian Gough
52baf4976e Merge branch 'master' into cache-output-files 2015-03-02 09:18:44 +00:00
Brian Gough
7f38c5e5a3 fix double callback for proc.on 'error' and proc.on 'close' 2015-02-27 16:07:02 +00:00
Brian Gough
140090da47 move convert tests from middleware to restricted static server 2015-02-27 15:38:57 +00:00
Brian Gough
e024fec82d provide a static server which forbids symlinks
prevents mismatch between rootdir of server and rootdir of symlink
checking middleware
2015-02-27 13:57:57 +00:00
Brian Gough
a6fb82513f use OutputCacheManager to construct static path to files 2015-02-27 13:16:01 +00:00
Brian Gough
5fdd1d4f47 cleanup and logging 2015-02-27 13:15:35 +00:00
Brian Gough
a877dd36e7 remove debugging code 2015-02-26 15:32:01 +00:00
Brian Gough
77b4247f86 fix tests to allow for build parameter 2015-02-26 15:31:12 +00:00
James Allen
e78da9d0fd Release version 0.1.3 2015-02-26 11:20:56 +00:00
Brian Gough
5a5ef8baed accept build id parameter when serving static files 2015-02-25 17:05:19 +00:00
Brian Gough
9991c38dfc added package dependencies for caching 2015-02-24 16:09:55 +00:00
Brian Gough
49e1ce552d add an optimisation pass for the cached output files 2015-02-24 15:48:34 +00:00
Brian Gough
5c1d61c955 skip the cache directory when finding output files 2015-02-24 14:40:22 +00:00
Brian Gough
4002849e20 save output files in a .cache directory 2015-02-24 14:40:05 +00:00
Brian Gough
4532cd14b0 update sanitizePath regex
remove accidental inclusion of , and add null char \x00
2015-02-13 11:28:43 +00:00
James Allen
80382d5c15 Allow non-latin characters in the rootResourcePath 2015-02-13 11:21:35 +00:00
James Allen
561ce7dc60 Sanitize rootResourcePath 2015-02-11 16:39:43 +00:00
James Allen
1f8ddac27d Release version 0.1.2 2015-02-10 13:19:42 +00:00
James Allen
1313b06fb7 Don't return error if directory doesn't exist yet 2014-12-09 11:25:23 +00:00
James Allen
42af7c4e63 Add in some debugging logging 2014-12-09 11:16:16 +00:00
James Allen
ffa7919e46 Use find -type f to get a list of output files 2014-12-09 11:08:07 +00:00
Henry Oswald
9742aa8fb4 replaced old symlink logic with tested middlewear based on fs.realpath 2014-12-04 23:54:22 +00:00
James Allen
2647eb0ec7 Check file is not a symlink before returning it 2014-12-04 22:07:37 +00:00
James Allen
49b7cdc854 Add in missing error check 2014-12-04 21:37:09 +00:00
Brian Gough
95373d2b7e send a strong etag for the output.pdf file, needed for byte ranges in pdf.js 2014-12-02 14:30:24 +00:00
Henry Oswald
c119d2ba79 err != error 2014-11-27 16:19:01 +00:00
Henry Oswald
d498076ab3 Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex 2014-11-27 16:11:11 +00:00
Henry Oswald
b8335b6b64 respect the status code on the error if it exists 2014-11-27 16:11:00 +00:00
James Allen
a39c356014 Update acceptance tests for new knitr, and remove markdown 2014-10-29 10:59:32 +00:00
James Allen
5216526191 Force mimetype of output files to be safe 2014-10-28 12:07:26 +00:00
Henry Oswald
c37447a2d6 increase max compile to 4 mins 2014-10-17 11:03:08 +01:00
Henry Oswald
ce8c6d824d Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex 2014-10-17 10:22:27 +01:00
Henry Oswald
a698795558 up timeout to 6 mins 2014-10-17 10:14:23 +01:00
James Allen
b74e9b02f0 Bump version to 0.1.1 2014-09-29 16:05:44 +01:00
James Allen
9059f62543 Lock down sequelize version 2014-09-23 10:52:01 +01:00
James Allen
ee891cc030 Release version 0.1.0 2014-08-19 14:05:09 +01:00
James Allen
855ec6e4dd Lock down module versions 2014-08-19 14:01:01 +01:00
James Allen
995d23a326 Merge branch 'master' of github.com:sharelatex/clsi-sharelatex 2014-08-19 12:14:38 +01:00
James Allen
10413b876a Don't run smoke test by default 2014-08-19 12:11:56 +01:00
James Allen
37a8e37bda Add updated knitr example output.pdf for TexLive 2014 2014-08-13 10:35:51 +00:00
Henry Oswald
3e4cfc5ba9 added url into error message when downloading from filestore 2014-06-10 14:09:36 +01:00
Henry Oswald
8d337a26db add null checks and defaults for the cached smoke test results 2014-06-05 16:13:06 +01:00
Henry Oswald
98efa96f3e added caching of health checks so we can hit them heaviy from multiple places without potential concurency problems 2014-06-05 15:51:24 +01:00
James Allen
fe6c76e62d Don't normalize path passed to synctex 2014-05-29 16:40:58 +01:00
James Allen
bc22a371d0 Explicitly look for output.pdf file, not any pdf 2014-05-29 15:49:48 +01:00
James Allen
f8819fbbd7 Increase req and res stream timeouts to 3 minutes 2014-05-22 12:18:56 +01:00
James Allen
9261987bd8 Increase size limit (arbitrarily... *shrug*) 2014-05-19 20:03:05 +01:00
James Allen
5cd66aad58 Return more informative errors 2014-05-19 07:18:57 -04:00
James Allen
3213c562bc Add in new metrics 2014-05-09 14:55:37 +01:00
James Allen
abbcea2945 Add commented out docker config 2014-04-30 11:31:37 +01:00
James Allen
52b22a41c8 Use simpler exec command with a timeout 2014-04-09 15:34:54 +01:00
James Allen
b53fed1243 Rearrange compile flags 2014-04-09 12:44:51 +01:00
James Allen
173e0a80c6 Compile binary with install 2014-04-09 12:37:04 +01:00
James Allen
892e6bf6d1 Add in a synctex end point 2014-04-08 15:18:56 +01:00
James Allen
129cf0bf62 Add in support for markdown files 2014-04-04 09:56:20 -04:00
James Allen
0644cb316d Pick up .ist files in acceptance tests 2014-04-04 08:26:01 -04:00
James Allen
e14470d57f Add acceptance test for nomenclature 2014-04-04 08:25:36 -04:00
James Allen
d2e93fa025 Add acceptance test for custom makeindex styles 2014-04-04 08:25:20 -04:00
James Allen
5caf5f8a6f Add in acceptance test for asymptote 2014-04-03 09:03:51 -04:00
James Allen
807dfdc22a Add in defaults setting file 2014-04-02 17:00:14 -04:00
James Allen
ee4a6e869e Fix up settings schema and acceptance tests 2014-04-02 16:58:07 -04:00
James Allen
b484f08d6e Use system rm -r to allow removal of files with broken char encodings 2014-04-02 12:53:02 +01:00
Christopher Adams
2b5e369b98 Fix example request URL and JSON 2014-02-26 10:13:09 -05:00
Christopher Adams
d829f83226 Correct installation task from compile to install 2014-02-26 10:09:18 -05:00
James Allen
0dea22a8e9 Add in Travis CI badge 2014-02-24 14:45:00 +00:00
James Allen
6b450a45a7 Update .travis.yml 2014-02-24 14:42:36 +00:00
James Allen
4d6d4eb6a2 Create .travis.yml 2014-02-24 14:27:06 +00:00
James Allen
07d858e5c3 Use https git URLs instead of SSH 2014-02-21 15:04:41 +00:00
Anton Ilin
0a94441998 Typo fix
Should be "downloaded" not "downlaoded" :)
2014-02-21 14:29:06 +02:00
James Allen
9d66fcf715 Use sqlite in development 2014-02-18 17:41:25 +00:00
James Allen
e4eca94cdb Update README.md 2014-02-18 17:11:52 +00:00
James Allen
70c6b0b8da Create LICENSE 2014-02-18 17:09:54 +00:00
James Allen
df4516ce95 Update README.md 2014-02-18 17:08:26 +00:00
James Allen
85275a9373 Create README.md 2014-02-18 16:58:21 +00:00
James Allen
ff7f2eae04 Use master branch of logger-settings module 2014-02-17 15:09:12 +00:00
James Allen
27251a1df1 Install custom npm modules from github 2014-02-17 15:06:53 +00:00
James Allen
8771817cdf Fix unit tests 2014-02-13 11:11:53 +00:00
James Allen
73c652fb2c Update a missed setting 2014-02-13 11:08:40 +00:00
James Allen
5587ac0acb Fix up smoke tests 2014-02-13 09:33:39 +00:00
James Allen
46b36839e2 Initial open source commit 2014-02-12 17:27:43 +00:00