Régis Behmo
be1ff08917
Add all plugins (with data) to binary bundle
...
All existing plugins are added to the binary bundle, in their latest
version, so that users don't need to pip install tutor.
Also, the tutor MANIFEST.in file was removed to simplify the management
of package data.
Close #242 .
2019-08-20 17:03:46 +02:00
Régis Behmo
22a5c0ec3e
Fix building xqueue/notes as part of CI
2019-07-04 22:52:30 +08:00
Régis Behmo
ecf3851c23
Add missing plugin manifest files
2019-07-04 18:01:27 +08:00
Régis Behmo
c07032f826
Fix CI image building
2019-07-04 17:29:30 +08:00
Régis Behmo
11e735f4e5
Migrate notes to a dedicated plugin
2019-07-04 09:31:12 +08:00
Régis Behmo
07a0323d8e
Move Xqueue to a dedicated plugin
...
This gives us the opportunity to develop new hooks: build-image and
remote-image.
2019-07-04 09:31:12 +08:00
Régis Behmo
b7937c8c5b
Push plugin packages to pypi
2019-06-23 23:11:07 +02:00
Régis Behmo
de5b82fd63
Migrate github repo to overhangio organization
2019-06-23 23:11:07 +02:00
Régis Behmo
dce234bc1e
Move tasks from travis-ci to gitlab CI
...
We only keep travis-ci for building MacOS/Linux binaries.
2019-06-23 23:11:07 +02:00
Régis Behmo
e04f42ec1a
Specify CI python version in packaging in case of conflict
...
On MacOS, when no python version is specified, packaging is run with
python 2.
2019-06-19 12:38:26 +02:00
Régis Behmo
aaafd73a8a
Fix requirements for packaging
2019-06-19 12:14:49 +02:00
Régis Behmo
2729fe94f0
Test packaging as part of full test suite
...
We've had issues before with improperly formatted README.rst which was
causing pypi upload failure.
2019-06-19 12:02:28 +02:00
Régis Behmo
84f2060d33
Working Kubernetes quickstart
...
The k8s quickstart command is now functional, with suppport for https,
xqueue, notes and minio. There are still a few bugs to get rid of,
though.
2019-06-17 22:38:55 +02:00
Régis Behmo
bc21102cf4
Make configuration silent (non-interactive) by default
...
Thus, we remove the -y/--yes options, which were kind of unintuitive,
and we add instead `-i/--interactive`. The quickstart commands remain
interactive by default, but can be silenced with `-I/--non-interactive`.
2019-06-07 22:49:45 +02:00
Régis Behmo
18d05fcbbb
Replace databases
command by init
.
...
Since initialisation does not only refer to database migrations, it
makes more sense to rename this command.
2019-06-07 22:49:45 +02:00
Régis Behmo
3b108d21de
🔌 Introduce a plugin system for tutor
...
This adds the basic feratures that we need for a working plugin system,
but there are still many TODOs in the codebase.
2019-06-07 22:49:45 +02:00
Régis Behmo
38394c0824
Plugins and tests are linted, too
2019-06-07 22:49:45 +02:00
Régis Behmo
02a7bd5cbc
No automated formatting for templates
2019-06-03 15:41:25 +02:00
Régis Behmo
a97453135e
Blackify tests, too
2019-05-29 09:53:54 +02:00
Régis Behmo
6196defa8b
Simplify CI install/testing
2019-05-05 12:30:20 +02:00
Régis Behmo
4ac7dff06a
Switch from nose to unittest for running tests
...
This harmonizes test running between CI and local development.
2019-05-05 12:30:20 +02:00
Régis Behmo
9dd4c26706
Introduce automatic code formatting/linting
...
Code formatting makes sure that the python code looks decent, but it
does not check for coding errors.
https://black.readthedocs.io/en/stable/
Code linting runs static error detection on the python code, but does
not bother about formatting: https://pylint.readthedocs.io/en/latest/
2019-05-05 12:30:20 +02:00
Régis Behmo
acbd5ae371
Test interactive configuration in travis-ci
...
With this test we would have realised earlier there was a bug with
config defaults.
2019-04-27 10:58:43 +02:00
Régis Behmo
555845474d
v3.3.5 (2019-04-22)
...
- [Feature] Pluggable LMS/CMS/forum
- [Improvement] Safer environment overwrite. Thanks @silviot! 👐
- [Security] Fix Jinja2 vulnerability
- [Improvement] Improve CLI cold start performance
- [Improvement] Allow uppercase "Y" and "N" as answers to boolean
questions
2019-04-22 16:50:09 +02:00
Régis Behmo
1a94b05188
Better release descriptions
...
By using `github-releases`, we can now generate much better release
description blurbs.
2019-04-22 15:15:47 +02:00
Régis Behmo
847678bb07
Get rid of the "latest" release tag
...
The "latest" tag is a pain to maintain: it's a tag that we delete and
re-create at every release. Whenever we delete it, the binaries become
unavailable on Github until they are re-generated. Thus, from now on, we
conform to good practices (as examplified by the
github.com/docker/compose) project and distribute only pinned release.
The "nightly" tag remains, for now, as it allows us to distribute beta
features. It may disappear in the future.
2019-04-22 13:36:40 +02:00
Régis Behmo
3b9880ec74
Rename --silent
option to -y/--yes
2019-04-09 11:17:19 -07:00
Régis Behmo
ca8eda839d
Fix CI unit tests on Mac OS
...
For some reason, the "nosetests" binary is not available on Mac OS in
Travis-ci. This is what we get when we try to install nose:
Requirement already satisfied: nose==1.3.7 in
/usr/local/Cellar/numpy/1.14.5/libexec/nose/lib/python3.6/site-packages
(from -r requirements/dev.txt (line 25)) (1.3.7)
2019-03-24 12:24:22 -07:00
Régis Behmo
6889f6fa90
Add unit tests! yay!
...
Now, that was seriously missing.
2019-03-23 16:16:44 -07:00
Régis Behmo
949761aa29
Introduce the concept of "nightly" release
2019-03-22 23:37:59 +01:00
Régis Behmo
0d40d55afc
Fix ci-config command for Travis testing
2019-03-18 18:52:44 +01:00
Régis Behmo
07b3d113d4
Simplify environment generation
...
Environment is no longer generated separately for each target, but only
once the configuration is saved.
Note that the environment is automatically updated during
re-configuration, based on a "version" file stored in the environment.
2019-03-18 18:34:42 +01:00
Régis Behmo
970ab607b5
Rename "config [non]interactive" command to "config save [--silent]"
2019-03-09 11:27:51 +01:00
Régis Behmo
88542b3d18
Fix tagging with make
...
Version name was not being prefixed with "v".
2019-02-26 21:00:13 +01:00
Régis Behmo
ee9f2788e4
Add make version
command
...
This makes tagging simpler.
2019-02-24 20:15:36 +01:00
Régis Behmo
786778e5fb
Add requirements for docs generation
2019-02-20 12:52:57 +01:00
Régis Behmo
93528d862f
Less verbose "make retag" command
2019-02-18 09:57:59 +01:00
Régis Behmo
65f7b0f14d
Push "latest" binaries to github releases
2019-02-18 09:22:41 +01:00
Régis Behmo
5974cb5f50
Better CI
2019-02-11 09:38:34 +01:00
Régis Behmo
4331bc5712
Tutor v3 complete rewrite
...
Replace all make commands by a single "tutor" binary. Environment and
data are all moved to ~/.tutor/local/share/tutor. We take the
opportunity to add a web UI and revamp the documentation.
This is a complete rewrite.
Close #121 .
Close #147 .
2019-02-09 20:30:01 +01:00
Régis Behmo
8c261fa92c
Move "make info" command to root folder
...
This should help during the error reporting step.
2019-01-16 17:19:34 +01:00
Régis Behmo
772e8257c3
It is no longer necessary to run "make assets" manually
...
Instead, assets are copied to nginx automatically on run.
2019-01-15 09:29:27 +01:00
Régis Behmo
3433a7c046
Improve make commands documentation
2019-01-07 08:10:30 +01:00
Régis Behmo
7105183172
Move .env file as part of the upgrade-to-tutor command
2019-01-05 12:45:20 +01:00
Régis Behmo
c393dda48e
Upgrade to tutor on running "make config.json"
2018-12-27 14:24:47 +01:00
Régis Behmo
83d839b20e
Fix double interactive conf
2018-12-27 02:29:28 +01:00
Régis Behmo
a81593f6a8
Rename "singleserver" with "local" deployment
2018-12-26 19:27:08 +01:00
Régis Behmo
f2c476f954
Improve documentation
2018-12-26 19:27:08 +01:00
Régis Behmo
0a3812cf4f
Simplify env/configure commands
...
"env" now only generates the environment, and depends only on
config.json, which is run only when necessary. There exists only one
"make configure" command, which force-runs config.json and builds the
env.
2018-12-26 19:27:08 +01:00
Régis Behmo
c903ab2b12
Migrate openedx-docker project to Tutor 👩🏫
...
The project gets a new name and some proper documentation. Build/Deploy
are now properly separated.
2018-12-26 19:27:08 +01:00
Régis Behmo
d454cfd72d
Add openedx-assets command
...
This is great for running a local webserver and watching theme changes
in just two commands.
2018-12-25 19:25:23 +01:00
Régis Behmo
22aa54d88f
Automatically build themes from openedx/themes
...
No need for the THEMES variable.
2018-12-25 19:25:23 +01:00
Régis Behmo
14b1047424
Upgrade demo course
2018-12-25 19:25:23 +01:00
Régis Behmo
3b215c9f88
Package static assets inside the openedx image
...
This allows us to deploy much faster: all we have to do is to copy the
assets from the container to the shared volume.
We also changed the way themes are managed: similarly to static assets,
they are now packaged inside the docker image.
2018-12-25 19:25:23 +01:00
Frank Anderson
beabe6c0cf
Update Makefile
...
Moved the Comments to the beginning of the so `make` doesn't attempt to run the comments as commands.
2018-12-18 18:35:53 +01:00
Régis Behmo
e94fee1767
Document how to run forked edx-platform
2018-11-26 12:07:58 +01:00
Régis Behmo
1d8fd232a5
Accelerate container bootstrapping
...
We don't need to run "chmod" on openedx files outside of development
mode. So, there is no need to set the USERID environment variable in
most cases. This should considerably accelerate pretty much all commands
that involve the openedx container.
For discussion consult PR #98 .
2018-11-23 13:48:02 +01:00
Silvio Tomatis
d9f7ff830a
Add missing line continuation in assets-development-[cl]ms
2018-11-23 12:00:51 +01:00
Régis Behmo
23ce23e76d
No need for dependent containers in assets tasks
2018-11-20 19:06:43 +01:00
Régis Behmo
274432436f
Fix assets generation in development
...
webpack requires the NODE_ENV environment variable which is incorrectly
set "paver update_assets" in development mode. To avoid this issue, we
split update_assets into its subparts.
2018-11-20 17:55:00 +01:00
Frank Anderson
b949a44a78
Add "restart-openedx" make command
...
Close #91
2018-11-17 08:42:59 +01:00
Régis Behmo
1dab77178d
Fix Android apk path
...
Close #70
2018-10-03 15:43:21 +02:00
Régis Behmo
b78d285779
Fix 'dorum' typo
2018-10-02 18:14:39 +02:00
Régis Behmo
e60e0071c4
Make feature flags interactive
...
Feature flags are now asked to the user interactively, as part of the
configuration step. This makes defining feature flags much more simple.
2018-09-30 14:37:49 +02:00
Régis Behmo
96ab171f1c
Revert "By default, don't push android image to dockerhub"
...
This reverts commit 8392f4a2d3
.
Actually, no personal data is included in the Android image, so it's
perfectly fine to push it to docker hub.
2018-09-30 13:49:07 +02:00
Régis Behmo
8392f4a2d3
By default, don't push android image to dockerhub
2018-09-30 13:29:38 +02:00
Régis Behmo
1357311be7
Add logging commands
2018-09-29 18:29:10 +02:00
Régis Behmo
6307a1888e
Better naming for shell commands
2018-09-29 18:24:35 +02:00
Régis Behmo
050dfc9b23
Better naming for db make targets
2018-09-29 18:24:35 +02:00
Régis Behmo
4f3117f81b
Better naming of android make targets
2018-09-29 18:24:33 +02:00
Régis Behmo
0d96033e1f
Provide better names for help sections
2018-09-29 18:23:11 +02:00
Régis Behmo
500d690074
Add a self-documenting Make help
...
Picked from https://github.com/openfun/fun-platform , which itself picked
it from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
Running `make help` or simply `make` now produces a beautiful colored
help.
2018-09-29 18:22:06 +02:00
Régis Behmo
7f5e91a0db
ACTIVATE_* env vars are only necessary during configuration
2018-09-29 17:36:25 +02:00
Régis Behmo
f85b0abac4
Add portainer as an optional feature
2018-09-29 15:10:25 +02:00
Régis Behmo
22872412c3
Collect some usage stats
2018-09-18 20:25:58 +02:00
Régis Behmo
30bc6df091
Improve wait for mysql db to be ready
2018-09-16 13:24:17 +02:00
Régis Behmo
75d86252bc
Push notes to docker hub on 'make push'
2018-09-15 20:31:49 +02:00
Régis Behmo
4964f12725
Rename provision and oauth2 make targets
2018-09-15 20:25:13 +02:00
Régis Behmo
5ca9cec888
Add optional Student Notes service
...
With notes, students can annotate sections of the courseware.
2018-09-15 18:11:15 +02:00
Régis Behmo
04a0fb5902
Simplify configurator
...
Template files are now directly loaded in the configurator container, so
that it is possible to run the configurator container directly, outside
of this project.
2018-09-15 17:22:02 +02:00
Régis Behmo
b0f2adb931
Read default settings from environment variables
...
Moreover, ACTIVATE_* variables are now made permanent. It is no longer
necessary to re-declare them at each call of `make configure`.
2018-09-15 15:51:41 +02:00
Régis Behmo
509bb91ef3
Split make assets command in two
2018-09-15 15:13:37 +02:00
Régis Behmo
e1d73660d2
Rename up & daemon make commands
...
The new commands are "run" and "daemonize". Older commands are
preserved, although they are undocumented.
2018-09-15 12:20:35 +02:00
Régis Behmo
f9a202083f
Enable course search and discovery
...
Also, improved openedx logging, so that logs are not emitted twice.
2018-09-15 12:17:24 +02:00
Régis Behmo
7e5dda28f0
Make sure configurator is pushed on 'make push'
...
Close #61 .
2018-09-06 07:35:26 +02:00
Régis Behmo
3587a187cd
Get PWD to work with "sudo"
...
The PWD environment variable is not available in the Makefile when a
"make" command is run with "sudo".
Close #50
Close #60
2018-09-04 12:13:18 +02:00
Régis Behmo
161de4629a
Print out git version in "make info"
2018-09-03 07:53:34 +02:00
Régis Behmo
21608386de
Fix "pull access denied for certbot_image"
...
Close #52
2018-08-28 15:53:26 +02:00
Régis Behmo
8e46b4ca2b
Make Xqueue an optional feature
...
Xqueue is no longer run by default. Instead, add the ACTIVATE_XQUEUE
environment variable to add it to the platform.
2018-08-19 14:49:14 +02:00
Régis Behmo
c883af35f7
Add HTTPS support
...
HTTPS is now fully supported. The ACTIVATE_HTTPS feature flag needs to
be set. Required domain names are LMS_HOST, preview.LMS_HOST and
CMS_HOST.
Close #46 .
2018-08-19 14:49:14 +02:00
Régis Behmo
af6e62b069
Migrate templating to jinja2
...
In the future, jinja2 templates will allow us to create more complex
configuration templates.
2018-08-18 07:48:30 +02:00
Régis Behmo
ea2dd7c4fb
Generate configuration from Docker
...
We no longer run the `configure` script on the host. Instead, we run a
container that generates the configuration files. This opens the way for
more complex configuration templates that would be written in jinja2.
More complex templates are required for feature flags, such as SSL,
XQUEUE, etc.
2018-08-16 14:42:10 +02:00
Régis Behmo
ac7fe77280
hawthorn.1 release
...
From a deployment perspective, this release comes with an upgrade of the
cs_comments_service (forums) and a change to the logging configuration.
2018-08-08 15:02:49 +02:00
Régis Behmo
245655908a
Document the LMS/CMS urls
...
This closes issue #42 .
2018-07-16 19:42:39 +02:00
Régis Behmo
5e45e80c50
Improve docs regarding opening issues
2018-06-18 14:58:34 +02:00
Régis Behmo
61bcc2aa29
Add convenient make debug
command
...
This command will certainly be used for github issue templating.
2018-06-18 14:20:08 +02:00
Régis Behmo
9d4743f00e
Give mysql more time
...
On Travis CI, provisioning may fail if mysql hass less than 10s to
bootstrap.
2018-06-08 19:18:17 -04:00
Régis Behmo
560f520af1
REALLY stop the containers on "make stop"
2018-06-08 18:50:12 -04:00
Régis Behmo
85e7e45067
Wait more smartly for mysql DB to be ready
...
We replace the custom script wait-for-greenlight by dockerize: it is a
generic tool that allows for different services to be up. Also, on day,
it will allow us to generate config files dynamically (maybe).
2018-06-08 18:31:26 -04:00
Régis Behmo
8366376bd0
Run provision command faster
...
By not setting the USERID environment variable, we don't have to chown
the /openedx folder, which makes the "provision" command much faster.
2018-06-08 17:19:12 -04:00