7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-05-28 20:00:49 +00:00
Commit Graph

128 Commits

Author SHA1 Message Date
Régis Behmo
9620447a4d Add the lts plugin to the tutor binary 2019-12-25 01:09:53 +01:00
Régis Behmo
8127546af8 Improve make test-packages
`make test-packages` now tests a single package.
2019-11-22 09:38:53 +01:00
Régis Behmo
11f8c87f4a Make sure tutor-openedx is installed as part of requirements
Otherwise, tutor-openedx will be pulled from pypi during plugin install.
This was failing because the latest pypi release was not installing
correctly (see #261).
2019-10-19 19:13:03 +02:00
Régis Behmo
816f32e610 Fix alpine requirements in CI 2019-10-09 13:40:18 +02:00
Régis Behmo
1224313e7c Make sure twine & pip are up-to-date in CI
We were affected by the following bug when installing pyinstaller in CI:

https://github.com/pyinstaller/pyinstaller/issues/4006
https://github.com/pypa/pip/issues/6163

As a consequence, pip is upgraded in CI. Also, twine is now part of dev
requirements.
2019-10-09 13:22:00 +02:00
Régis Behmo
a94cbc2914 Move plugins to dedicated repositories
minio, notes and xqueue plugins are moved to tutor-* github repos.
2019-08-21 18:32:39 +02:00
Régis Behmo
7790028cf7 Move tutor-minio to dedicated plugin repo 2019-08-20 17:46:53 +02:00
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