Commit graph

128 commits

Author SHA1 Message Date
James Allen
662122bb1c CI and local dev environment improvements
The need for this became very noticeable due to the slowness of filesystem access in docker-in-mac, with a full compile taking over a minute for me in docker. Using make to introduce incremental compile makes this near instantaneous outside of docker (if only a few files have changed), and quick enough inside docker.

With incremental compile via make, it compiles quickly enough that re-compiling and restarting the web service automatically when backend files change is quick enough now. This is how the service is run via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, so it shouldn't be necessary to manually restart the container each time a coffee file changes.

At the moment Jenkins pull web modules in via the GitSCM plugin, but I believe this is creating a dependency in Jenkins, where any commits to any of the modules causes all of the web branches to rebuild. By doing it via our own scripts we can hopefully avoid this. It also creates a build process which is reproducible locally.

**Note that at the moment in this PR all modules pull from `ja-dockerize-dev` branches, but these should be merged first, and this PR updated to point to the master branches before merging**. This is necessary for other changes to build process/docker-compose workflow.

As well as a Makefile for web, there is now a `Makefile.module`. This is copied into each module directory by the top-level Makefile, and is written in a way to be flexible and support unit tests, acceptance tests, front-end js for the ide and main, and the modules `app/coffee` directory, while allowing modules to have some of these missing (not all modules have e.g. acceptance tests, or front-end JS). This will allows us to refine the build process in future, without needing to update the Makefile in each module repo separately (I found this to be a painful part of this development).

This makes web compatible with the docker-compose workflow at https://github.com/sharelatex/sharelatex-dev-environment, where each service is running in its own docker container, with networking managed by docker.

Previously the Makefile was set up to run unit tests in docker with `make unit_tests`. This now just runs them natively. In the CI, they are run in docker anyway (all steps in Jenkins are), and locally, they run fine natively with `npm run test:unit`, or can be run in docker via https://github.com/sharelatex/sharelatex-dev-environment with `bin/run web_sl npm run test:unit`.

Previously we did a lot of juggling with only mounting source files (coffee, less, etc) into the docker container for acceptance tests. This was to avoid creating root owned files if the whole directory was mounted. Now instead the whole web directory is mounted read-only, with the compilation step done outside of the container before running the tests.

This allows the host and container to share the `node_modules` folder as well, which avoids needing to `npm install` twice on the CI box, and should speed up the build by a few minutes.

On macOS, this would cause a problem with compiled modules if you tried to use the same `node_modules` to run the app natively. However, if running via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, this is no longer a problem.
2018-01-15 09:36:41 +00:00
Tim Alby
08b74c95f5 proxy requests to analytics service 2018-01-10 15:03:14 +02:00
James Allen
bbfcff30fb Enable project history for new projects if enabled in settings 2018-01-03 16:55:33 +00:00
James Allen
ffa2e231fd Fix up tests 2017-12-19 13:58:47 +00:00
Hayden Faulds
3466db0aae add acceptance tests 2017-12-04 09:42:09 +00:00
James Allen
50b3045548 Tidy up docker-compose and makefile 2017-11-29 13:49:36 +00:00
James Allen
fbf8cc2d03 Run acceptance tests via docker compose 2017-11-27 17:10:58 +00:00
Shane Kilkelly
1cedfed1e4 Merge branch 'master' into sk-unlisted-projects 2017-11-02 10:10:09 +00:00
Hayden Faulds
519f041215 Merge pull request #50 from sharelatex/hof-toggle-projec-history
toggle project history
2017-10-24 09:13:50 +01:00
Hayden Faulds
299112f6e0 toggle project history using setting 2017-10-23 15:49:10 +01:00
Shane Kilkelly
7d2bde85ff Add a setting to enable anonymous read-and-write link sharing 2017-10-18 13:04:37 +01:00
Brian Gough
5b0d3d1429 simplify rate-limit checking code 2017-10-09 16:31:01 +01:00
James Allen
5c8442a86f Allow configureable brand prefix with overleaf styles 2017-08-07 17:01:59 +02:00
Shane Kilkelly
0f131d940d Enforce stricter password policy.
- Check minimum password lengths
- Set default policy to 6-128 chars
2017-07-24 11:06:47 +01:00
Shane Kilkelly
149e38855f Add a cooldown mechanism for projects which go over limits 2017-05-09 11:40:42 +01:00
James Allen
4728077cca Add track changes feature flag into model 2017-02-13 11:50:32 +01:00
Shane Kilkelly
525e871d55 Merge branch 'master' into sk-rate-limit-cluster 2017-01-13 14:17:18 +00:00
Shane Kilkelly
731f280e2e Move auth parts of top menu out of config and into web templates.
Move the remaining configuration into a new config var: `nav.header_extras`.
Add a `nav.showSubscriptionLink` var to control visibility of subscription link
in the Account menu.

This will allow admins to more easily configure extra links in the top
navigation bar, without the danger of overwriting the important auth menus.
2017-01-11 10:27:38 +00:00
Henry Oswald
84ce2d0e14 change default nav to use translations for login and register 2017-01-06 11:00:21 +00:00
Shane Kilkelly
259c589076 Add option to restrict invites to existing user accounts. 2016-12-20 09:54:42 +00:00
Shane Kilkelly
535e489ae5 Add an example redis.ratelimiter config. 2016-12-19 12:17:58 +00:00
Shane Kilkelly
cf94429e05 Add a user_email option to the nav "Account" dropdown. 2016-11-29 16:04:20 +00:00
Shane Kilkelly
bfa0e7cf89 WIP: start moving web sessions to cluster 2016-11-08 15:32:36 +00:00
Henry Oswald
d0f9a07197 turn subscriptions off by default 2016-10-12 17:35:40 +01:00
Henry Oswald
ed906f085c fix spelling mistake in error message and comment out settings.defaults 2016-10-03 11:33:14 +01:00
Henry Oswald
0d0f0e8604 wip 2016-09-23 16:38:46 +01:00
James Allen
e412e662ee Set default compileTimeout to 3 minutes for onsite users 2016-09-06 11:41:21 +01:00
Henry Oswald
6a72c2fce0 comment settings back out 2016-08-23 16:46:23 +01:00
Henry Oswald
3d36dc7d6c mvp for not using cdn when blocked 2016-08-19 11:05:35 +01:00
Henry Oswald
93af1a70ac added notifications into settings.defaults 2016-08-05 15:16:01 +01:00
Henry Oswald
3029fb6335 add dark host option and don’t load pdfjs worker via cdn 2016-07-21 19:06:53 +01:00
Henry Oswald
ad60268707 clean up vars for buildjs path and change default to cdn.sharelatex.dev:3000 2016-07-21 09:38:24 +01:00
Henry Oswald
6c78ab4ace got requirejs working nicely with cdn 2016-07-20 12:58:32 +01:00
Henry Oswald
c21549220c mvp for cdn 2016-07-18 14:05:07 +01:00
Henry Oswald
0576380811 allow placeholder for sharing project to be changed 2016-07-14 11:40:32 +01:00
Brian Gough
73ad1fde5c comment out disabling of per user compiles 2016-06-30 15:15:37 +01:00
Brian Gough
c04e00026b remove scaffolding for per-user compiles so that it is always by default 2016-06-30 14:43:03 +01:00
Brian Gough
2b23e13619 Merge pull request #261 from sharelatex/use-parameter-for-bcrypt-rounds
use parameter for bcrypt rounds, rehash passwords on login if necessary
2016-06-28 10:49:33 +01:00
Henry Oswald
cc9f90c3e8 don't set referneces and notifications urls in default as open source does not use them yet 2016-06-24 15:03:15 +01:00
Henry Oswald
8b79587c9b add settings as a value to reference in defaults file 2016-06-17 14:22:20 +01:00
Brian Gough
0906bef5f9 change default bcrypt rounds to 12, to match default in AuthenticationManager 2016-06-17 13:50:32 +01:00
Brian Gough
98a0c54004 use parameter for bcrypt rounds, rehash passwords on login if necessary 2016-06-17 12:22:03 +01:00
Shane Kilkelly
4e63a3c7bd Move betaProgram flag up to top-level of user object 2016-06-06 13:12:24 +01:00
Shane Kilkelly
a5aab40320 Add the betaProgram feature to User model. 2016-06-01 16:17:28 +01:00
Henry Oswald
c918028d14 removed clsi priorty url 2016-05-20 12:46:14 +01:00
Henry Oswald
2abebd850c Merge branch 'project_url_query' into clsi-dynamic-load 2016-05-19 13:08:20 +01:00
Henry Oswald
9db647491a added different ldap config example 2016-04-28 17:21:07 +01:00
Henry Oswald
4d54de8b9a renamed ClsiRequestManager to ClsiCookieManager and improved logging 2016-04-20 15:06:39 +01:00
Caleb Cooper
145b201087 Put brackets around the example ca path for ldap starttls support in the default config. This resolves an issue where the system was breaking the path into an array and trying to act on the first item in that array, "/", rather than the full path. 2016-04-15 13:46:11 -04:00
Henrique Dias
ae79ce75b7 Update settings.defaults.coffee 2016-04-06 11:32:08 -03:00